WEB форумы на jedi
[Форум] [Помощь] [Поиск] [Выйти]
Добро пожаловать, [info]User

WEB форумы на jedi [ПОИСК] [Архив до 03.2006]

Тема DarkBasic - 2d и 3d игрушки... К предыдущему сообщению На следующее сообщение Программирование

Отправил galstuk в 10:29 07.07.2004[Ответить]
Народ! Не так давно я купил DarkBasic,штука прикольная,осваивается моментально,проще всяких Си и Дельфи,мне понравилось. В основном рассчитан он на создание 2d и 3d игрушек. Если у нас люди в городе которые тоже с ним столкнулись?


Отправил TheKoder в 11:44 09.07.2004[Ответить]
зайди на сайт gamedev.ru - сайт посвященный разработке игр...
P.S: Большинство нормальных игрушек все таки пишется на C++ или delphi(реже)


Отправил bargan в 09:31 12.07.2004[Ответить]
Нормальные игрушки пишутся только на Visual C++


Отправил TheKoder в 12:30 12.07.2004[Ответить]
Не только на Visual сях... пишут еще и на gcc, например.Не забывай , что игры ведь пишутся не только под винду...



Отправил Crypto в 23:59 12.07.2004[Ответить]
Нормальные игрушки пишутся только на Visual C++
как примитивно... может сам попробуешь ответить почему? Может ты писал что-то?
нормальные игрушки создаются нормальными девелоперами :)
Если говорить о тенденции, то конечно, в современной игровой индустрии, когда все новое есть внедренное в основном Microsoft, а следовательно, в Visual C++ в первую очередь, и появляется так часто, что разработчики не успевают создавать переходные модули для других систем разработки (например, интерфейсы для новых DirectX-ов для Delphi, Basic и т.п.).
Это во первых.
Во-вторых, многие используемые наработки были созданы во времена действительно правления Visual C++, когда сравнимых по скорости результирующего кода компиляторов просто не было.

Помнится, Quake нумеро уно был написан на C... просто на C. Не говоря уж и о более ранних играх. А игрушка эта всех времен и народов.
И еще, есть такие игры - shareware-игры, целый рынок, там ОЧЕНЬ МНОГО отличных игр, и многие написаны далеко не на Visual C++. Есть и Delphi, есть и такие искусственные системы как тот же самый DarkBasic, есть игры, в которые играются тыщи секретарш в ср.америке, которые написаны в Excel VBA... супер?
Я к чему... просто я этим занимаюсь, и меня убивают вот такие безосновательные выкрики типа реальные чуваки пишут только на сях. Просто объясняйте хотя бы, почему...
В игрушкам основные куски (съедающие большую часть времени - в основном, конечно, это графический движок), написаны на asmе. На языке более высокого уровня пишется объектная модель. Все остальное реализовано в скриптах на внутреннем языке. Так вот, эту самую объектную модель можно создать где угодно, и все зависит от того, как ты ее продумаешь и реализуешь.
...
Да... все таки сейчас очень важна поддержка Microsoft...


Отправил TheKoder в 09:46 13.07.2004[Ответить]
Crypto, я как раз профессионально занимаюсь разработкой компьютерных игр. Изначально тема была про 2д-3д игрушки т.е. ексел , ворд - не в счет.

Речь идет о сегодняшнем дне... Никто на чистом СИ(не ++) или хуже того asm, основу игры(движок итп) уже давно не пишет - тот же intel c++ compiler соптимизирует код на порядок лучше чем хороший спец по асму -- не думаю что кто-то умеет хорошо разруливать циклы, векторизовать алгоритмы, знает на зубок спаривание команд и.т.п. Если речь идет о shareware рынке, то и там правит СИ++(я говорю о языке, а не о компиляторе и среде разработке). Объясню почему... Были совковые времена, да и сейчас есть, когда shareware игры делает какой-нить один вася пупкин на коленке -- ессна делает он их на asm-е/darkbasic итп... из-за своего не проффесионализма... Сейчас все по другому ... скажем есть Бизнесмен петя... или просто руководитель, вкладывает в разработку минимум 2 тонны баксов... нанимает разработческую группу... и за максимум полгода получает зверскую, современную shareware, а вася пупкин остается в ж... в ауте... Когда есть деньги есть спецы - спецы пишут хорошо и быстро - все довольны... Вот потому нормальные конторы на сях и пишут


Отправил Darker в 11:06 13.07.2004[Ответить]
>пишут еще и на gcc, например

Помоему, на gcc не пишут, им компилят.


Отправил galstuk в 12:32 13.07.2004[Ответить]
Ну парни вы блин даёте...!!! Такую прям дисскуссию устроили...Всякими Сями я и так сыт по самое горло. Мне конкретно хотелось бы узнать поболе про DarkBasic,т.к. на официльных сайтах все-таки инфы про него очень маловато будет в виду того,что он появился сравнительно недавно. А штука эта мне понравилась потому,что очень прост в освоении и проги получаются не хуже чем если их писать на Си. Но правда в нем конечно есть много минусов. Дык вот по поводу этих минусов мне бы и хотелось поговорить. Просто этот бейсик я взялся изучать потому,чтобы в моей тыкве для коллекции появилось еще что-то акромя всяких Си,Дельфи,Pascalей и всего другого..


Отправил TheKoder в 15:15 13.07.2004[Ответить]
2 galstuk - насчет darkbasic - насколько мне известно это движок, имеющий свой внутренний язык... отсюда и недостатки:

1) ничего нового, ты в этот движок внести не сможешь, будешь работать в рамках среды... А технологии со временем устаревают, и когда ты напишешь игру через год, она уже быдет не такая крутая

2) написаная тобой игруха, принципиально, не может быть перенесена на другую систему (*nix, например)

3) как мне кажеться скорость похрамывает... но это не критично, т.к. ничего технологичного = тормозного, ты сделать не сможешь.

4) если хочешь в будущем работать программером, то все-таки получше изучай C++(всякое там метапрограммирование, boost,loki), можно C# ( как известно Microsoft его проталкивает, а еще известно, что они умеют навязывать свое решение, и вполне возможно, что с++ останется для очень критичных участков(драйверы например), а все остальное будет писаться на C#)

и еще что мешает использовать готовый движок на С++ (Ogre например) ? - по мне так гораздо лучше, и так же удобно...

2 Darker
ну я это и имел ввиду :)


Отправил bargan в 21:44 13.07.2004[Ответить]
Извиняюсь за предыдущее действительно примитивное высказывание, попробую объяснить не столь примитивно. Игры не пишут на Delphi, или Builder не потому, что нету
свежих заголовочных файлов к интерфейсам Direct X, а потому что они генерируют медленный не оптимизированный код, так как изначально разрабатывались как RAD системы. Могу кинуть ассемблерный листинг, чтобы показать какой код они генерируют. Visual Basic вообще, по сути интерпретируемый язык, так как в PE файле создаваемом им хранится байт-код программы исполняющейся на виртуальной машине. На C# тоже начнут писать игры довольно не скоро, так как в нем используется jit-компиляция, и требуется установленный .NET Framework. Игры которые пишут сейчас, (т.е. настоящее время) немыслимы без использование таких современых технологий, как пиксельные и (или) вертексные шейдеры. Хоть я никогда и не пользовался, такими вещами как Delphi X, но могу с большой долей вероятности сказать, что он не позволяет использовать HLSL, или GLSL.
P.S. Т.е. как вы сами очень хорошо сказали: Инструмент нужно выбирать под задачу.


Отправил Crypto в 01:20 14.07.2004[Ответить]
Вообще, тут даже спорить не надо, можно взять статистику, да посмотреть. Действительно, подавляющее большинство игр пишется на Visual C++. Тут лично мне не понравилась необоснованность.
Да, генерируемый код C-компиляторов более оптимизируемый, чем код, генерируемый, например, Delphi-компилятором из ПЛОХО НАПИСАННОЙ программы.
Лично по-моему опыту :) я могу переписать в Delphi конкретные блоки любой C++-программы, таким образом что конечная разница в скорости будет практически незаметна :) Все зависит от правильного использования указателей (!!! чем так славно программирование на C) и системных функций (часть из которых вообще стоит переписать под конкретный проект). Более того, есть вероятность, что я напишу это более качественно и оптимизированно. Естественно, начиная какой-нить серьезный игровой проект на Delphi, нужно сразу забыть формы, а следовательно и RAD-программирование.
DelphiX... Не надо приводить такие глупые примеры. По-моему, этой библиотекой пользуются только новички и авторы простеньких статей в инете. GLSL там точно нельзя использовать :)...

Насчет ассемблера в коде: честно скажу, не знаю, как это выглядит на данный момент, а во времена разработки интелами и амд различных командных расширений (MMX, 3DNow и т.п.), компиляторы не могли есесно создать оптимизированный код. Это раз. С другой стороны, в свое время единственным решением был софтварный рендеринг, тут уж без ассемблера никуда. Сейчас, с таким бурным развитием видеокарт и видеобиблиотек, действительно можно не беспокоится о таком низком уровне, но все равно, по-моему, остались задачи, которые можно решить только искусственной оптимизацией низкого уровня...

Теперь, давайте пофантазируем: представьте, что все примеры DirectX API в MSDN приведены на Visual Basic'е, да что уж там, все Windows API описаны примерами Visual Basic'а.
С самого начала...
вопрос: На чем будут писаться современные приложения? И игры в том числе

Теперь другой вопрос: что важнее НА ДАННОМ ЭТАПЕ в игроиндустрии? Удобство и скорость разработки или производительность конечного программного продукта?
В последнее время все меньше и меньше разработчиков тратят время на оптимизацию, это сказывается на качестве игр, точнее графических движков...
Сейчас стало модно создавать свои движки (которые так похожи друг на друга), т.к. 1) это довольно просто (особенно после публикации каких-нить Quake 1-2-3 sources :) ) 2) не надо платить бабки за лицензию.
С одной стороны это хорошо, глядишь, где нить да проклюнется что-нить интересное. С другой, большинство игр имеют банальную графику, с банальным набором features, причем в тоже время хотят железо помощнее...

Блин, я ушел от темы. Ладно, надеюсь вы поняли суть.
P.S. плохой программист + C++ < хороший программист + (вписать любой язык)
...
P.P.S. Лично мне язык C++ нравиться своей гибкостью, а не...


Отправил bargan в 09:38 14.07.2004[Ответить]
Извиняюсь может я не так понял, но по моему изначально речь шла о нормальных современных игрушках, а
нормальные современные игрушки пишут, как известно, хорошие програмисты, т. е. применяя вашу формулу:
хороший программист + Visual C++ >= хороший программист + (вписать любой язык). Теперь насчет удобства,
по моему, это большое заблуждение считать что Visual C++ не удобная среда, для разработки баз данных может быть. Там есть великое множество очень хороших готовых классов, возможно все получается не так визуально как в Delphi но после небольшого навыка... Есть некоторые типы приложений, которые я могу написать на Visual C++ на порядок быстрее чем любой программист на Delphi.
P.S. Спорить тут конечно не надо, но советую попробовать Visual C++, и обещаю, что вы, как хороший программист, его полюбите. Могу даже предложить Visual Studio .NET 2003 + Intel C++ Compiler 8.0


Отправил Crypto в 11:21 14.07.2004[Ответить]
Блин...
Мне нравится Visual C++, я на нем писал, конечно не так много, как например на Delphi, но достаточно, чтобы знать, для каких задач лучше его применять.

нормальные современные игрушки пишут, как известно, хорошие програмисты
я как раз и хотел сказать, что многие СОВРЕМЕННЫЕ игрушки пишут не совсем нормальные программисты. Скорее всего, эти игрушки до Вас просто не доходят, ну и слава богу (а игрушек ведь МОРЕ, и хлама среди них - тоже полно)...
Сегодня, например, чтобы создать обычный 3D-движок, не обязательно быть спецом по 3D-графике, а точнее по 3D-математике. Многие даже не знают, как реализовать, например, простейшее софтварное текстурирование полигона...
Это все связано с развитием всяких DirectX, OpenGL. С одной стороны, как я уже сказал, это хорошо, чем проще, тем лучше, быстрее, дешевле. С другой, все меньше внимания уделяется оптимизации. Но это уже другая тема...

Visual Studio .NET 2003 +...
Все это есть :)

Там есть великое множество очень хороших готовых классов...
Вот именно, причем количество этих классов намного больше чем в Delphi, и опять же из-за того что Visual C++ - разработка Microsoft, все новое - сразу в него... и т.п.

...не так визуально как в Delphi...
в общем-то, в игрушках не нужна эта визуальность, RAD не используется, поэтому преимущества Delphi исчезают...

хороший программист + Visual C++ >= хороший программист + (вписать любой язык).
Согласен (>=)...
Все зависит не от названия языка, а от функциональной наполненности его библиотек.
Для игрушек полнее и удобнее библиотек Visual C++ нету, вот и результат...
...Скорее всего больше постить по этой теме не буду


Отправил TheKoder в 11:51 14.07.2004[Ответить]
To Crypto
> я могу переписать в Delphi конкретные блоки любой C++-программы, таким образом что конечная разница в скорости будет практически незаметна :) Все зависит от правильного использования указателей (!!! чем так славно программирование на C) и системных функций (часть из которых вообще стоит переписать под конкретный проект). Более того, есть вероятность, что я напишу это более качественно и оптимизированно.
------------------
1) С++ славиться не столько указателями, сколько шаблонами, с помощью которых можно творить чудеса... Попробуй написать на дельфи вычисление факториала в compile-time (т.е. не во время выполнения программы, а во время компиляции)
вот пример на C++
////////////////////////////
template<int n>
struct Factorial {
enum { value = n * Factorial<n-1>::value };
};

template<>
struct Factorial<0> {
enum { value = 1 };
};


int main() {
printf(10! = %d , Factorial<10>::value);
return 0;
}
////////////////////////////
пример, конечно, не много надуманный , но тем не менее позволяет делать достаточно хитрые вещи, которые реально пригождаются...

2) как в delphi с перегрузкой операторов обстоят дела ?
удобно например перемножать матрицы не функцией, а просто c = a*b

3) современные компиляторы C++(VS 7.1, Intel C++ 8.0, gcc) , по генерируемому коду обгоняют современный delphi на порядок...

Delpi && C++ конечно HolyWar...

насчет библиотек... а как насчет _шаблонных_ библиотек(boost,loki) - ведь они принципиально на delphi написаны быть не могут НИКАК...

Эти библиотеки эти уже используются повсемесно... Сам использую их - экономят просто массу времени, а имеено время разработки становиться критичным в последнее время. В этом году boost хотят внести в стандарт C++...а delphi ? а он отдыхает... у него шаблонов нет..



Отправил Crypto в 13:42 14.07.2004[Ответить]
да, темплейты - это круто, согласен, и перегрузка тоже... но это все относится к синтаксису языка и влияет лишь на культуру писания кода (удобно, красиво, быстро), а не на конечный (откомпилированный) результат...

современные компиляторы C++(VS 7.1, Intel C++ 8.0, gcc) , по генерируемому коду обгоняют современный delphi на порядок...
Насчет порядка не уверен :)


Отправил TheKoder в 14:52 14.07.2004[Ответить]
> а не на конечный (откомпилированный) результат
не совсем согласен на счет теплейтов... дело в том что последние компиляторы лучше оптимизирует более абстрактный код (т.к. компилятор понимает, чего хочет в конечном счете кодер)... а код получается гораздо абстрактнее при использовании шаблонов...

> Насчет порядка не уверен :)
ну это я так, для красивого словца сказал :) На самом деле скорость отличается совсем не на много ...


Отправил CAHbKA в 20:42 14.07.2004[Ответить]
я как раз профессионально занимаюсь разработкой компьютерных

нет на вас NightWing'a, посему скажу я - примеры бы в студию.

Когда есть деньги есть спецы - спецы пишут хорошо и быстро - все довольны... Вот потому нормальные конторы на сях и пишут

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


Отправил Пaшкa в 21:01 14.07.2004[Ответить]
Про хорошие и плохие программы, про 1С-ацтой и т.п.

Плохой программист пишет плохую программу.
Средний программист пишет хорошую программу.
Хороший программист решает проблему.


Отправил TheKoder в 21:08 14.07.2004[Ответить]
>посему скажу я - примеры бы в студию.
примеры чего ? проектов ?
а так работаю несколько лет в http://www.alawargroup.com

>Когда есть деньги есть спецы - спецы пишут хорошо и быстро - все >довольны... Вот потому нормальные конторы на сях и пишут


>а то, знаете ли, такие заявления кроме гомерического смеха >ничего не вызывают... ну, кроме подозрений в наличии отсутствия >логики, конечно.
Согласен, логики никакой... был не в себе просто :)... Хотел довести до всех мысль, что серъезные конторы(по разработке игр, где работают неплохие специалисты, которым хорошо платят) пишут основу игры на сях... просто констатация факта. Вот собсна и все...

offtop: to САНbKA возможно, до меня такой вопрос уже задавали, но почему нельзя ответить на конкретный пост ? ну т.е. кнопка ответить только одна и она вверху ?


Отправил CAHbKA в 00:36 15.07.2004[Ответить]
о! а! AirStrike - супер!
э, да. а Ваше то участие в этом всём какое, лично? :)

off: а вот так оно тут... одна и вверху...


Отправил TheKoder в 09:03 15.07.2004[Ответить]
>э, да. а Ваше то участие в этом всём какое, лично? :)
да просто, один из множества програмеров...


>off: а вот так оно тут... одна и вверху...
:) ясно






Отправил Crypto в 10:32 15.07.2004[Ответить]
Действительно, отлично, что кто-то из проф. разработчиков игр сюда заглядывает...
Можно тогда более конкретные вопросы? Чем лично Вы там занимаетесь? Т.е. к каким проектам приложили руку, и что делали? Если это не секрет. Кратенько, конечно.
P.S. Я о вашей конторе в Game.EXE читал, вы (Alawar) ведь тоже из глубинки...


Отправил TheKoder в 19:48 15.07.2004[Ответить]
>Можно тогда более конкретные вопросы? Чем лично Вы там >занимаетесь? Т.е. к каким проектам приложили руку, и что >делали? Если это не секрет. Кратенько, конечно.
----

На самом деле я не имею права об этом говорить...в контракте прописано так...

проекты в которых был lead-программером
это было давно года два-три назад...
http://www.alawar.com/games/Arkanoid4000
http://www.alawar.ru/games/tetris4000/
об остальных и о разрабатываемых проектах умолчу ...

>Я о вашей конторе в Game.EXE читал, вы (Alawar) ведь тоже из >глубинки...
да, из Новосибирска.




Отправил Crypto в 21:19 15.07.2004[Ответить]
Мне нравится


Отправил TheKoder в 09:18 16.07.2004[Ответить]
Спасибо !


Отправил iam29 в 17:03 04.08.2004[Ответить]
TheKoder, а к Сварогу ты руку не приложил?


Отправил MOD в 23:04 25.10.2004[Ответить]
Хм... интересую тему подняли в стиле Delphi vs C++

Касательно программирования игр и вообще сложных комплексов. 2Crypto: Delphi рядом с С++ не стоял именно благодаря всего лишь синтаксическим возможностям. Взять хотя бы помянутые шаблоны - позволяют делать массу вещей (для примера те же Smart-указатели), которые не просто выглядят красиво, понятно и структурируют код - можно делать такие вещи в объектно-ориентированном дизайне что просто умрешь в программировании того же на языке Object Pascal и самое обидное умрешь и не сделаешь столь же быстро (по времени разоработки), надежно и эффективно :).

Безусловно небольшие несложные игры можно писать Pascal - есть даже игры написанные на чистом ассемблере, помнится есть даже такая игра О, счастливчик, написанная на VBA в Excel. Тока имхо человек в начале топика имел в виду игры типа Doom, Quake, StarCraft, NFS - ну и тому подобные серьезные вещи. Так вот менеджмент кода в громоздких проектах - это как раз то что хорошо можно сделать на С++ и что плохо можно сдлелать на Delphi если даже взять хорошего программиста.

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

Ваще посмею обрушить на себя гнев уважаемой аудитории, но скажу, что будушее игр - это DirectX - и даже великий Кармак не поможет - просто потому что DirectX - это инструментарий для разработки игр, а не просто абстрактная Graphic Library.

Хотя безусловно жаль что уже сейчас многие программисты игр не знают как нарисовать на экране текстурированный треугольник используя Turbo Pascal 7.0 без директивы Uses :). Но думаю что таким создателям путь в разработчики передовых трехмерных движков все же закрыт.

2galstuk: дарк-бейсик это плохая игрушка - лучше сразу про такие вещи забыть если хочешь делать Игры (с большой буквы).

2Crypto: Да игры немного подзастоялись - но слава богу наметилось движение вперед - взгляни хотя бы на графику в Far Cry или Doom III - Doom III - не просто серьезный движок - это ОЧЕНЬ серьезный движок - разработка игры заняла 4 года - проекты такого масштаба просто не разрулить на Паскале - иначе их цикл разработки увеличится наверное вдвое :)

Короче мораль - базы данных пишите на Delphi - это быстро и разумно. Серьезные приложения критичные по скорости выполнения пишите на С++. При разработке игр пользуйтесь передовыми технологиями ( коими на данный момент являются MS Visual C++ + MS DirectX ). Слушайте старших и выбирайте средство разработки под задачу, а не наоборот. (2Crypto: сам иногда вспоминай свои слова :) ).


Отправил CAHbKA в 23:54 25.10.2004[Ответить]
Дон видит светлое будущее исключительно с DirectX ?
А вот скажем OpenGL ?


Отправил MOD в 14:15 26.10.2004[Ответить]
Хм... ну можно продолжить на тему OpenGL vs Direct3D.

Для начала примем за основу, что на сегодняшний момент основными игровыми платформами являются: PC (Windows), PS2, XBox.

Что имеем: на текущий момент большинство игр разрабатывается под D3D, игры под OpenGL либо сделаны на движке от idSoftware, либо имеют возможность выбрать в качестве рендерера также и D3D (то есть разработаны более универсально), остаток можно смело отбросить ибо он слишком незначителен. Большая часть тайтлов выходит под D3D, причинами чего на мой взгляд являются (в порядке убывания значимости):
1. Большая ориентированность данного API на разработку именно игровых приложений.
2. Меньшее время разработки (наличие в D3D библиотеки утилит D3DX)
3. Microsoft :)

Касаемо приставок. XBox использует D3D - думаю это в особых пояснениях не нуждается. PS2 использует незнаю что (вот в гугле нашел что PS3 будет оспользовать OpenGL, видимо PS2 пока что не использует - но это вопрос спорный).

OpenGL не умрет конечно, но игровые приложения под D3D уже сейчас серьезно преобладают по кол-ву над играми под OpenGL и думаю что в дальнейшем эта тенденция (стараниями Microsoft, которая несомненно будет улучшать библиотеку утилит D3DX) только усилится.