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

Вниз

Можно ли написать полноценную игру в Delphi???   Найти похожие ветки 

 
General   (2003-04-13 20:38) [0]

Или обязательно придётся учить ещё и Си? А можно будет как-нибудь не используя WinAPI?..


 
k-man   (2003-04-13 20:49) [1]


> Или обязательно придётся учить ещё и Си?

На чем писать дело твое. Ну пишут же на Delphi хорошие игры..

> А можно будет как-нибудь не используя WinAPI?..

Как связаны WinApi и игры в этом вопросе?
Или, может ты имеешь ввиду программирование без VCL


 
Плохой человек   (2003-04-13 22:11) [2]

Написать можно. Можно без WinAPI.


 
DrPass   (2003-04-13 22:37) [3]

Написать можно. WinAPI учить не нужно. А вот DirectX API подучить не помешает


 
Darthman   (2003-04-13 23:49) [4]

Точно можно. Можно и на OpenGL, Можно и на WinAPI, можно и на DirectX, можно и самому че-нить придумать. Воля ваша!


 
Mop   (2003-04-14 04:13) [5]

Делфи годится на написание плоских или низко-полигонных трехмерных игр. Без использования VCL скорость намного возрастает. А на С++ можно написать все, что угодно.


 
TButton   (2003-04-14 07:29) [6]

2 Мор
Кроме 3х мерных игр существуют еще и 2Д и 2.5Д! возможно для тебя ето новость но для многих - факт.

Если очень хорошо разобраться с ДелфиХ, можно обойтись и без АПИ. Но всеравно знание АПИ никогда не помешает.


 
Хранитель_7К   (2003-04-14 08:02) [7]

Delphi - без VCL!


 
Хранитель_7К   (2003-04-14 11:57) [8]

Я бы задал вопрос по другому - а написал ли кто из присутствующих (отстутствующих) на этом форуме сабж???
Вот в чем вопрос!


 
k-man   (2003-04-14 14:01) [9]


> Delphi - без VCL!

Делфи без VCl это С подобный код. Очень подобный.
Поэтому если делать что-то серьезное лучше использовать С++


 
Хранитель_7К   (2003-04-14 14:40) [10]


> Делфи без VCl это С подобный код. Очень подобный.
> Поэтому если делать что-то серьезное лучше использовать
> С++

Полностью согласен!
Но не люблю я си :)
Хотя может со временем...


 
k-man   (2003-04-14 15:35) [11]


> Но не люблю я си :)

Да после дельфийских удобств сложно приучить
себя к таким вещам как низкоуровневое программирование.


 
General   (2003-04-14 15:40) [12]

Я недавно купил книжку DirectX. Графика в проектах Delphi. Занимательно :) Но самому разбираться всё равно сложно. Без WinAPI - в смысле используя приемущества визуального проектирования, когда за создание окон, компонентов будет думать сама дельфя. Может, в трёхмерной игре это не так важно, но всё же. Чистота кода, конечно, страдает, но зато насколько проще!


 
Хранитель_7К   (2003-04-14 15:45) [13]

Хотя частенько в последнее время приходится сишные процедуры в делфи перелопачивать вручную без всяких там конвертеров.
Поэтому по большому я считаю все равно на чем писать
Делфи или Си - ДиректХ или ОпенГЛ
Я сейчас делаю свой проект на Делфях и под ОпенГЛ, вот закончу и попробую сделать на сях или под Директ - это даже интересно будет!



 
General   (2003-04-14 16:16) [14]

Вся документация (ну, если не вся, то большая часть) на тему DirectX API в сети с примерами на Си. Перевести, в принципе, несложно. Но даже DirectX SDK на мелкософт.ком написана для С-программистов. Мне стоило немалых трудов найти заголовочные файлы для Object-Pascal"я. Пробовал ставить DelphiX - лажа... Там нормально реализована только работа с DirectDraw. А на нём сейчас далеко не уедешь. И ещё. Может кто-нибудь помочь с реализацией алгоритма огонька? Я сделал примерно так: дан 2-мерный массив 256x256 типа TRGB:
type
trgb = record
r, g, b: byte;
( 60)
Вся документация (ну, если не вся, то большая часть) на тему DirectX API в сети с примерами на Си. Перевести, в принципе, несложно. Но даже DirectX SDK на мелкософт.ком написана для С-программистов. Мне стоило немалых трудов найти заголовочные файлы для Object-Pascal"я. Пробовал ставить DelphiX - лажа... Там нормально реализована только работа с DirectDraw. А на нём сейчас далеко не уедешь. И ещё. Может кто-нибудь помочь с реализацией алгоритма огонька? Я сделал примерно так: дан 2-мерный массив 256x256 типа TRGB:
type
trgb = record
r, g, b: byte;
end;

В цикле нижняя строка заполняется случайным оттенком красного:
flame[i,j].r:=255;
flame[i,j].g:=random(60);
flame[i,j].b:=random(60);

А потом снизу вверх идёт усреднение по каждой компоненте цвета. Пламя получается невыразительным :( Стоит стеной. Снизу ещё виден эффект random"а, а выше плавный градиент от красного к чёрному. Хотелось бы видеть настоящие языки пламени! Частицы, вылетающие из огня! Помогите, а? Хотя, это скорее тема для новой ветки.


 
cyborg   (2003-04-14 17:00) [15]

>>k-man © (14.04.03 14:01)> Delphi - без VCL!
>>Делфи без VCl это С подобный код. Очень подобный.

Бред три раза, и что тут подобного?


X:=Sprite^.X;
Y:=Sprite^.Y;

if ScreenCoord then
begin
Dec(X,ScreenX);
Dec(Y,ScreenY);
end;

{$B+}
if (not ((X+Sprite^.SrcRect.Right>0)
and (X<WindowWidth)
and (Y+Sprite^.SrcRect.Bottom>0)
and (Y<WindowHeight))) then Exit;
{$B-}
if Sprite^.Surface^.DD7Surface=nil then
begin
if not Create16BitSurfaceFromDataFile(FDD,Sprite^.Surface^.DD7Surface,
Sprite^.Surface^.W,Sprite^.Surface^.H,
Sprite^.Surface^.FileName,Sprite^.Surface^.SpriteNum,
Sprite^.Surface^.Videomemory)
then exit else
if Sprite^.Surface^.BltFlags and DDBLTFAST_SRCCOLORKEY<>0 then
DDSetColorKey(Sprite^.Surface^.DD7Surface,
(Sprite^.Surface^.ColorKeyR or
(Sprite^.Surface^.ColorKeyG shl 8) or
(Sprite^.Surface^.ColorKeyB shl 16))
);
end;

SrcRect:=Sprite^.SrcRect;

if X<0 then begin Dec(SrcRect.Left,X); X:=0; end;
if Y<0 then begin Dec(SrcRect.Top,Y); Y:=0; end;
if X+SrcRect.Right-SrcRect.Left>=WindowWidth then SrcRect.Right:=SrcRect.Left+(WindowWidth-X);
if Y+SrcRect.Bottom-SrcRect.Top>=WindowHeight then SrcRect.Bottom:=SrcRect.Top+(WindowHeight-Y);

Result:=FDDSBuffer.BltFast(X,Y,Sprite^.Surface^.DD7Surface,@SrcRect,Sprite^.Surface^.BltFlags);
if Result=DDERR_SURFACELOST then
begin
Sprite^.Surface^.DD7Surface._Restore;
end;


 
neuro   (2003-04-14 17:01) [16]

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


 
neuro   (2003-04-14 17:56) [17]

2cyborg:

Различия только в синтаксисе.Вобщем C++ идеальная релизация ООП, поэтому чем ООПешней язык, тем больше он похож на C++.А Object Pascal претендует на ООПшность..Отсюда и подобность.


 
cyborg   (2003-04-14 18:09) [18]

Ну естественно в синтаксисе, а так все языки похожи.
Интересное выражение про претендование на ООПность :)


 
Darthman   (2003-04-14 18:18) [19]

Кстати, с седьмой версии язык уже не обжект паскаль, а ДЕЛФИ :) гы.
О чем спор собственно. Форум-то для делфистов, не так ли?


 
neuro   (2003-04-14 18:31) [20]

2cyborg: вот это ты зря..Бэйсик никак не похож на C/C++, даже VB.
И потом, ЛИСП тоже =)

Это правильное выражение =) Вот ты юзал когда-нть BP7.x?Типа ООП..Я долго плевался..Все-таки Дельфи до C++ долго еще расти =)

2Darthman: спора нет =)

Чтобы не оффтопить: имхо civevo полноценная игра..вроде как на delphi написана..


 
cyborg   (2003-04-14 18:48) [21]

neuro я не веду к тому что круче, что нет, а ты это делаешь, насчёт похожести я сказал, что все языки делают одно и тоже, присваивание, запись/чтение, вызовы функций и сравнение только синтаксисом и отличаются.

BP и шестой и седьмой ковырял, ООП я так и непонял ихний, небыло ни литературы, ни учителей, поэтому у меня такой стиль остался процедурный в каком я пишу, ООП я понял только сев за Дельфи, удобная штука, только не по мне :), мне проще закатать всё в записи и обрабатывать простыми процедурами.

А насчёт полноценной игры, дык у меня есть вполне полноценные и писались в Дельфи :). Первая использовала OOP, вторую делаю всётаки в процедурном стиле.


 
neuro   (2003-04-14 18:57) [22]

гм..и я не говорил -- кто круче..я лишь сказал, что дельфи не совсем ООП.Это не значит, что Дельфи сакс, просто другая идеология.
Кстати, не все языки (одинаково полезны =)) делают одно и тоже..Вот тот же ЛИСП многострадальный =).


 
Плохой человек   (2003-04-14 20:35) [23]

>Вобщем C++ идеальная релизация ООП, поэтому чем ООПешней язык, тем больше он похож на C++.А Object Pascal претендует на ООПшность..Отсюда и подобность.

Фуфло. Object PAscal не претендует, а задаёт моду. В С++ ООПешность была просто присобачена к простому С. Другое дело Java - здесь уже забацано посерьёзней. Так что Object Pascal - это спору нет.


 
neuro   (2003-04-14 20:40) [24]

Хм..Object Pascal задает моду? Это сильно..Особенно если брать во внимание реализацию раннюю..Но это хрен бы с ней..А кто, скажи мне, дал моду на шаблоны?
А вот про то что к C++ присобачили реализацию -- тут ты не прав.Она к C++ (эта реализация) просто идельно подходит, типа все в кассу, все на месте.
Так что Object Pascal все-таки процедурным остался.Наивысшая стадия развития процедурного программирования.


 
k-man   (2003-04-14 22:12) [25]

2All
Прочитайте сабж! все еще не понятно? прочитайте сабж!
может дойдет какой вы бред тут понаписали в последней 10-ке постов.
Господи неужели опять затеяли спор что лучше С++ или Object Pascal!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Когда этот спор закончится? Наверно только тогда когда модеры
такие ветки будут гасить в зачатке. Ей богу надоело!
Ведь спрашивали можно ли написать полноценную игру на Делфи!
neuro привел пример - доказательство этой возможности!
Но нет - опять этот бесконечный спор!
Скажите измениться ли у кого нибудь точка зрения после этого спора? Все остануться при своих... Я например абсолютно не согласен с cyborg"ом, но я не буду спорить... Иначе конца не видно...


 
Arch-vile   (2003-04-14 22:19) [26]

Я, допустим, и не полноценную игру написал, но все-таки... А из серьезных проектов знаю Ricochet - подобие Арканоида, только с классным графоном. Написан он на Delphi - гарантирую (большое удовольствие :)


 
Плохой человек   (2003-04-14 23:57) [27]

2 neuro:
Есть два варианта:
1) Открой историю программирования и убедись в своей неправоте.
2) Спрограммируй что-нить ООПешной на С++ и убедись в своей неправоте.

Хех, Object Pascal - процедурное, это покруче моды. Видимо ты не видел последних новшеств Object Pascal по работе со строковыми типами.


 
General   (2003-04-15 15:16) [28]

Я начинал программировать с паскаля. Ну, не считая того, что нам на старых "четвёрках" преподавали Qbasic v1.1 ;) BP я изучал сам, и, как не пытался, в ООП так и не въехал :( Слишком там всё заморочено. Надоел мне паскаль, потому что нельзя там делать полноценные приложения для Win32. И в графику без знания асма можно не лезть. Потом в один прекрасный день узнал о Delphi. Воистину, инструмент для ленивых программистов! Расставляй себе кнопочки-списки да пиши процедуры обработки. Поэтому, после такой благодати, начинающему сложно разобраться с апями. neuro, спасибо за подсказку с огоньком, обязательно попробую!


 
neuro   (2003-04-15 16:27) [29]

2Плохой человек:
Скажи мне, такие слова как MFC,WTL,ATL тебе о чем-нибудь говорят?Если да, то почему тогда все эти навороченные (активно использующие ООП) пишуться именно на "недоООПшном" C++? Почему же нету им ObjectPascal-эквивалента?
Знаешь, я много раз писал на C++ =) и всякий раз получалось =), и получалось именно с ООП..Так что в неправоте своей ну никак не получаеться убедиться..
Кстати, строковые типы это маленькая фича =).Согласен, что в OPascal"е это сделано покруче.Хотя слишком много, мне С++"шных хватает.

2All: не подумайте, что пытаюсь обо%$ать Delphi, я просто хочу очертить границы его применения и его мощность в отдельных вопросах. =)


 
Arch-vile   (2003-04-15 16:41) [30]

Почитайте еще раз последний пост от k-man, ПЛИЗ


 
stream   (2003-04-15 16:42) [31]

Если я не ошибаюсь, Age of Wonders 1/2 писались именно на Delphi- очень даже неплохие игрушки


 
neuro   (2003-04-15 16:51) [32]

2Arch-vile: никто и не спорит.Просто так..Языками чешем =)

Насколько я знаю =), любую игру можно написать на Delphi.Даже Doom 3. Только это нецелесообразно. Все-таки Delphi больше для БД и прочего коммерческого софтописания предназначена. Типа "ускоренная корпоративная разработка".

Больше скажу -- на Basic"е тоже можно Дум3 написать.=)

Кстати, доказательством существования нормальных игр на Дельфи будет написание (или предъявление исходников написанный уже) "нормальной" (а что это вообще такое?) игры на Delphi. А демагогия вроде "у меня уже две есть, одна на том-то другая с тем-то" не катит.

Я все сказал (c) =)


 
cyborg   (2003-04-15 18:07) [33]

neuro © (15.04.03 16:51)
Может тебе ещё и ключи от квартиры в которой деньги лежат?
Исходник можешь посмотреть на DelphiGFX.
http://delphigfx.mastak.ru/game5.htm

Теперь в ответ жду твой исходник на С++ посмотреть, а-то твоя демагогия объектов в игре не катит.


 
neuro   (2003-04-15 18:10) [34]

гы =) Сходи в гугл и скажи -- Wolf3D Sources, Doom sources..будут тебе примеры =)..ей-богу, как маленький


 
cyborg   (2003-04-15 18:27) [35]

Ладно бамбуком прикидываться, свои давай, демагог.


 
neuro   (2003-04-15 18:39) [36]

Я не утверждал, что я писал игры на C++. Я и не просил ЛИЧНО ТВОЙ пример..Требовалось лишь ПРЕДъЯВЛЕНИЕсорсов РАБОЧЕЙ НОРМАЛЬНОЙ гамы..Читать надо внимательней =)


 
cyborg   (2003-04-15 18:56) [37]

Как раз я читаю внимательно, и поэтому придирался, придираюсь и буду придираться к словам адресованным мне. Будь добр предъяви свой код, либо твои размышления, что ООП в Дельфи никуда не годится и всё лучше писать в С++ не имеет под собой основания.

P.S. Много таких развелось, кричат много, а сделали мало.
Интересна твоя посылка меня на просмотр исходников Дума, мол "Вот как я тебя сделал!".


 
neuro   (2003-04-15 19:03) [38]

Да никто тебя не "делал"..Нужен ты больно..Посылка к примеру Дума -- я всего лишь дал тебе понять, что на сях почти все серьезные гамы и пишуться или для тебя это тоже открытие?
Далее, я НЕ говорил, что ООП в дельфи никуда не годиться, я говорил, что оно там не столь хорошо вписываеться в общую семантику и синтаксис языка, да и не очень-то и должно..
По поводу, сделали мало -- иди на www.klocwork.comи любуйся, Кармак блин..


 
cyborg   (2003-04-15 19:11) [39]

1) Какая удобная позиция "на сях почти все серьезные гамы и пишуться".

2) Всё там вписывается.

3) И что я там должен найти?


 
neuro   (2003-04-15 19:15) [40]

1)А ты хочешь сказать, что нет?
2)Да уж..
3)Место моей работы..

Сходил я по твоему линку..И это все "нормальные" игры? Я плакал..



 
cyborg   (2003-04-15 19:28) [41]

1) Я хочу сказать что да.

2) Скажи хоть что ни будь умное.

3) И что я должен найти на месте твоей работы?

4) Там полноценная игра на Дельфи, и к твоему удивлению норамльная, без кавычек, не смотря на то, что она первая. Не плач, возрадуйся жизни.

P.S. Оснований твоей позиции я так и не увидел, демагог :).


 
neuro   (2003-04-15 19:37) [42]

Основания по первой позиции -- разуй глаза.
Основания по второй позиции -- нельзя создать полностью абстрактный класс; статические элементы классов почему-то кочуют от экземпляра к экземпляру; еще?
Третья позиция (позишен намбер три =)) -- это по поводу "ничего сами не написали.."
Четыре -- "полноценная игра на Дельфи" это какая? Название в студию.

Основания по моим позициям устраивают? =)


 
cyborg   (2003-04-15 19:44) [43]

4) Где написано cyborg, та.

Значит давай сделаем так, сделай, если сможешь, простой спрайтовый "движок" на С++, который просто выводит анимированную карту, и посмотрим скорость и удобство реализации твоего на С++ и моего на Delphi, я поэтому случаю исходник выложу своего переделываемого проекта, согласен?

Не спеши с ответом :), так как у меня будет фора, я знаю о чём говорю, а ты нет, это на первый взгляд кажется что всё так легко и просто.


 
neuro   (2003-04-15 19:46) [44]

Что ты подразумеваешь под анимированной картой?
Скорость работы у меня будет не большая -- я все-таки работаю.
И как оценивать простоту (удобство) реализации? По числу строчек? =)


 
cyborg   (2003-04-15 19:50) [45]

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


 
cyborg   (2003-04-15 19:54) [46]

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

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

Простота и удобство реализации означает, что разработка игры в дальнейшем на основе этого енгина будет проста и удобна. Т.е. одной функцией, например, можно будет добавить/удалить объект и он автоматом будет анимированно отображаться.


 
cyborg   (2003-04-15 19:57) [47]

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


 
Плохой человек   (2003-04-15 20:07) [48]

2 neuro:

>Скажи мне, такие слова как MFC,WTL,ATL тебе о чем-нибудь говорят?Если да, то почему тогда все эти навороченные (активно использующие ООП) пишуться именно на "недоООПшном" C++?

Ввиду распространённости этого С++ чисто исторически и ввиду коллосальной поддержки со стороны небезызвестной конторы.


 
Плохой человек   (2003-04-15 20:08) [49]

2 neuro:
Вот я любую прогу с ООП забацаю на Delphi с гораздо меньшими усилиями, чем на С++, несмотря на рпактическое единство ООП. Даже если ты забацаешь ту же прогу на С++, то опять таки - кто в ней разберётся?


 
neuro   (2003-04-15 20:31) [50]

2Плохой человек: разбереться тот кто уммет кодить и хоть немного знаком с cpp.

2cyborg: окей. задачи ясны =). будем дерзать.

[кстати, я игры писал, но только не на c++, а на асме, я тогда c++ боялся как огня]


 
neuro   (2003-04-15 20:41) [51]

2cyborg:
вот, кстати, исходники одной гамы =).Это к вопросу об исходниках сишных.
http://www.oakland.edu/~lcmatero/files/duke3dsource.zip


 
cyborg   (2003-04-15 21:17) [52]

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

Это будет Чебуратор: Кибер мозги, я его делал при помощи Jedi-SDL, уже есть играбельное демо, у меня на сайте смотри, но потом захотелось чисто под DirectX сделать, из сторонней библиотеки только FMOD играет музыку, вот пока то что сделал вышлю если желаешь. Размер 228 кб. при посылке по почте распухнет на 33%. Выложить для скачивания на сайт не могу, место кончилось, так что только по почте получится или по аське кинуть. Будешь знать к какому FPS стремиться :), у меня на 800 дуроне при разрешении 1024х768х16 бит карта 128х128 при левой видеокарточке RivaTNT2Pro FPS=~120.


 
k-man   (2003-04-15 21:25) [53]

Чую драка намечается... Между кем объяснять не надо...
2Плохой человек
Судя по твоим постам, которые мною прочитаны, ты не такой уж плохой:-)
2All
Но вообще мое мнение- главное оружие программиста ГОЛОВА, а язык программирования лишь второстепенное средство. Так что если данного предмета(головы) у некоторых нет, то как говорит русская посовица "Нечего на зеркало пенять, коли рожа кривая"
Так что нечего присутствующим голову морочить: С++! Делфи!
(при чтении этого места представить мое грозное выражение лица)
надо сами изучим, сами выберем на чем пригоднее писать ту или иную задачу.
А если делать нечего переезжайте в "Потрепаться" и утерайте друг другу нос!


 
Плохой человек   (2003-04-15 21:31) [54]

2 neuro:
>2Плохой человек: разбереться тот кто уммет кодить и хоть немного знаком с cpp.
А вот это уже поспорим.


 
Плохой человек   (2003-04-15 21:51) [55]

Хех, пора забивать на этот спор. C++ бесспорно мощный язык, по гибкости Object Pascal ему уступает, это видно уже с организации циклов. C++ мне представляется каким-то мелким-мелким конструктором для детей. Собрать можно всё, но с какими затратами. Object Pascal же напротив, конструктор с весьма крупными блоками. За то это компенсируется большим количеством таких блоков - подобрать можно всё. Цель главное - результат. В Object Pascal легче избежать ошибок,код читается гораздо легче. Легче... легче... Идея лежит в том, чтобы иметь большое количество наработок, которые очень легко и удобно применять. В руках опытного человека с такими наработками, Delphi становится наигибчайшим инструментом

Ведь есть ещё и разница - сравнивать с Object Pascal или с Delphi? Здесь совсем другое сравнение.

Про ООП вопрос всё таки спорный. Очевидно, он решается опытным путём и ответ на него зависит от человека и его склада ума.


 
cyborg   (2003-04-15 22:03) [56]

Во, вспомнил свой старый сайт на ньюмайле, туда скинул, правда тормозной хостинг:
http://cyborg1979.newmail.ru/programs/DXDrawEngine.zip
228 kb. качай.

клавиши:
Стрелки - прокрутка
Мышку на край экрана тоже прокрутка
F5 - сгенерировать карту
1,2,3,4,5 - скорость прокрутки
Правая кнопка мышки - показ информации, глючно сделано.
Колёсико мышки, переключатель - помещать спрайты в оперативной или видеопамяти на лету.

Параметры в INI файле по названию понятны:

VideoMemory = 1 - создавать поверхности в видеопамяти, 0 - в оперативке.
VideoSinhronization - видеосинхроонизация

MapX MapY - размер карты, значения от 1 до 128

Размер экрана можешь ставить от 320х200 до 1600х1200 у меня больше видеокарточка не держит.


 
Плохой человек   (2003-04-15 22:43) [57]

>у меня на 800 дуроне при разрешении 1024х768х16 бит карта 128х128 при левой видеокарточке RivaTNT2Pro FPS=~120.

Что-то тут не то.


 
cyborg   (2003-04-15 22:47) [58]

В смысле?


 
Dmk   (2003-04-15 23:32) [59]

cyborg © (15.04.03 22:03)
У меня на p4-2.53Ghz и Gf Ti4400-128Mb ~700-720 fps :) DX9


 
Плохой человек   (2003-04-15 23:56) [60]

На моём компе показывает 37 кадров секунду, но на 37 там не похоже. Где-то 20-30.


 
cyborg   (2003-04-16 00:06) [61]

Плохой человек у тебя тот случай, когда не работает DirectX нормально, запусти DXDiag и посмотри включено ли DirectDraw, ну и по ходу 3D и AGP.

В причине не работании этих вещей недавно мы разобрались, виной оказалась программа NetMeeting, когда она запущена, аппаратная поддержка не работает!
Если это не сработает, то поставь параметр VideoMemory = 0, возможно немного ускорит.

Dmk © (15.04.03 23:32)
Об этом я подозревал :).


 
Плохой человек   (2003-04-16 00:23) [62]

Забей, всё вкалывает, просто комп такой.


 
Sheng   (2003-04-16 00:47) [63]


> >у меня на 800 дуроне при разрешении 1024х768х16 бит карта
> 128х128 при левой видеокарточке RivaTNT2Pro FPS=~120.
>
> Что-то тут не то.


Точно, что-то не то, но у Плохого человека.
У меня на 200-м пеньке, nVIDIA VANTA 800х600 32bit fps=103..128 !!!!
Супер!


 
Sheng   (2003-04-16 00:56) [64]

Да, и есть чё-нибудь ещё такое? Мне понравилось. Можно крутую гаму сделать.

Про спор: на делфях главное преимущество - простота отладки проги, в смысле поиск ошибок в коде. На Ц++ ну хоть убей - если код больше 100 строк, нифига непонятно. Или мне только плохой код попадался...
И про игры: у меня есть исходники "движка" ДУУМА на Паскале. Довольно хорошо написаны. Я даже с первого раза во всём разобрался. А вот на Ц точно бы не понял.

И по сабжу: 2Д игры очень легко писать на дельфях. Быстро и просто. И скорость хорошая. Но без WinAPI, на мой взгляд, не обойтись. По любому. Но его всего учить и не надо. Постепенно, в процессе написания, разобраться легко.
И главное - это свои наработки.


 
Mop   (2003-04-16 02:55) [65]

2 TButton
Под словом "плоских" я и подразумевал 2D и изометрические игры...


 
KefiR   (2003-04-16 23:07) [66]

Если руки растут откуда надо, можно и на Дельфи че-нить приличное написать. Почитайте интервью с разработчиком игры Soldat на www.gamedev.ru она на Дельфях написана. Вообще, согласен, на Дельфи писать удобней, даже низкоуровневый код выглядит приятней :)... А писать игры с применением VCL - ну это же не серьезно. Понимаю, тестовые примерчики еще можно накатать, но серьезную (и даже не если не очень) игру, извольте. По-моему, WinAPI не так страшно, надо только привыкнуть. Насчет скорости и компиляторов: вы посмотрите на современные компы - разве вам большая разница, скока ФПС показывает игра - 700 или 695? Самое тяжелое для процессора - отрисовка 3х мерной сцены, она реализована в DLL, и это вообще не наша забота, так что особенной разницы между компиляторами, на которых откомпилена игра нет, это дело вкуса.
Кстати, не обязательно везде классы использовать, посмотрите KOL- там все на object"ах. Так что, прекращайте споры, лучше делом занимайтесь


 
Плохой человек   (2003-04-16 23:22) [67]

2 KefiR & All:
>разве вам большая разница, скока ФПС показывает игра - 700 или 695?
Нет разницы, даже если 700 и 100. Всё ранво глаз различает токмо 24 кадра. Для компа надо чуть побольше. И всё....


 
reaper   (2003-04-17 16:26) [68]

Что здесь вообще наС++ильники выступают? писать игры можно на чём угодно, лишь был бы нормальный компилятор и соответствующий язык. А Дельфи ничем не хуже С++. Узкие места можно обойти на асме, благо язык располагает... А фанатизм (к С или к другому языку) штука нездоровая. Я надеюсь что С# станет нормальной заменой С++. Это тенденция. Что ни говори а С++ уже того...протух. Пора менять на что-то более здоровое. А то "привычка". К С++ просто все привыкли и к его извращённому синтаксису.


 
k-man   (2003-04-17 16:30) [69]


> писать игры можно на чём угодно,

Писать можно вообще на любом языке была бы голова на плечах и желание работать. Остальное приложится.


 
cyborg   (2003-04-20 16:16) [70]

Монстров туда добавил, стоят на месте и анимируются, ограничил прокрутку экрана и убрал переключение колёсиком расположение поверхностей.


 
cyborg   (2003-04-20 16:30) [71]

Желающим могу дать исходник для разработки своей игры при уловии что в инфе будет стоять восхваления одресованные мне :).
Годится для аркадной игры с тайловой картой, можно переделать на непрямоугольные тайлы, стоит немного изменить код вывода карты, либо для таких игр, как цивилизация, покемоны на геймбое и прочие подобные.

Не всё сделано, так как делал основу, но работает, вроде :), безглючно, в дальнейшем буду делать под определённую игру и код уже будет не универсален ;).

Ещё раз линк на исполняемый файл (272 730 байт):
http://cyborg1979.newmail.ru/programs/DXDrawEngine.zip

Забыл сказать, что сделано всё на процедурной основе, никакого ООП нет и в помине.

Добавление объекта в игру делается простой функцией
Function Create_Sprite(ChainNum : Word; DataSize : Cardinal = 0) : PSprite;
Удаление функией
Function Del_Sprite(Var Sprite : PSprite) : PSprite;
которая возвращает следующий спрайт в цепочке спрайтов за удалённым.

И ещё, дам только хороему человеку :), редискам просьба не обращаться. :р


 
Плохой человек   (2003-04-20 17:38) [72]

А мне?


 
cyborg   (2003-04-20 18:16) [73]

А ты плохой человек :), кому нужно в аську ломитесь.


 
Думкин   (2003-04-21 06:25) [74]

Спорите?
Да все можно сделать, примеры есть.
Игры разные бывают.
И на GDI - хорошие вещи делаются.
Вот мы сейчас делаем большой проект.
Основная вещь написана на Си, но я видел тексты и прочее - на Дельфи - спокойкойно реализуется.
Там есть вставки игровые - все сделаны на Дельфи.
Когда я их сделал, то понял, что там еще огромный потенциал - в логике. Основная проблема - графика в момент вывода. Но тут есть замечательные примеры работы с графикой - поговорите с MBo.
Исходники этих вещей дать не могу - имущественное право - не мое.
Но как-нить выложусь по простеньким вещам.
Игры - это не только Дуум3 и иже с ними. Игры разные и на Дельфи реализуется - все.
А лучше ли Си или Дельфи - это вопрос недорослей.


 
General   (2003-04-27 18:04) [75]

>Игры - это не только Дуум3...
Воистину, верно! Я вот, вдохновлённый многочисленными сообщениями, что написать всё-таки можно, решил попробовать свои силы на этом новом для меня поприще. Так вот, пишу игру гонки. 2D. За графику отвечает интерфейс id3dxsprite объекта Idirect3d8. (Если кто не понял - вывод двумерной графики осуществляет Direct3D. Он побыстрее DirectDraw осуществляет поворот картинки.) Заголовочные файлы - JEDI. Никаких DelphiX ;) С созданием, загрузкой и выводом карты и машины игрока разобрался. Теперь это представляется самым простым... Никак не могу справиться с физикой игры. Как мне связать переменные, символизирующие скорость (двумерный вектор), угол поворота машины (single) и её текущее положение по двум осям с константами максимальной скорости машины, мощности её двигателя, тормозов, скорости поворота, устойчивостью, массой, константами, характеризующими данный участок трассы (макс. скорость, коэффициент трения, коэффициент вращения) и нажатыми клавишами управления курсором??? Если у кого есть готовые наработки, просто добрый совет или ссылки по теме - plz, шлите на мыло: General1@mail.ru


 
Плохой человек   (2003-04-27 20:01) [76]

>Воистину, верно! Я вот, вдохновлённый многочисленными сообщениями, что написать всё-таки можно, решил попробовать свои силы на этом новом для меня поприще.

Удачи.


 
Дмитрий К.К.   (2003-04-29 06:54) [77]

Аминь.


 
Редиска   (2003-04-30 02:44) [78]

2 cyborg

Обидно...


 
Мор   (2003-04-30 02:50) [79]

2 cyborg

Сразу видно - никаких DelphiX. У меня на 900 Атлоне при 1024x768 за 200 FPS косит :)


 
viman   (2003-04-30 11:26) [80]

Народ посмотрите сайт http://www.gamedev.ru/.
Мне вот это особенно понравилось http://www.gamedev.ru/almighty/images.shtml?id=9
Надо исходнички поискать у них.
А DXDrawEngine.zip фигня какаято.


 
cyborg   (2003-04-30 23:53) [81]

viman (30.04.03 11:26)
Я не красоту показывал, а показал тем кто воет о том, что на Дельфи нельзя сделать нормальную игру. Пример показывает скорость. Если нужа красота, то это уже дело художника, я сейчас, как смог :), специально отрендерил пару спрайтов чтобы покрасивее смотрелось.


 
Mop   (2003-05-01 04:47) [82]

2 viman
Во первых, исходники там тебе никто не даст (если ты, конечно не вступишь в команду разработчиков)...
Во вторых, ЭТО пишется на VC++
В третьих, на http://www.gamedev.ru все проекты пишутся на VC++, за исключением небольшого туториала по DelphiX :)
В четвертых, DXDrawEngine не фигня. Где ты видел такой FPS? А насчет графики полностью согласен с cyborg.


 
Плохой человек   (2003-05-01 21:04) [84]

>Во вторых, ЭТО пишется на VC++

Обожаю! Значит, всё остальное - отстой?


 
Mop   (2003-05-03 02:54) [85]

2 Плохой человек
Не совсем понял твою мессагу...


 
Zloy Alien   (2003-05-03 08:12) [86]

МОЖНО.............

:-))))


 
MeF88   (2003-05-03 10:37) [87]

Кто просил полноценную игру, написанную на Delphi?
Вот пример, привожу уже в 30 раз: http://www.ElementalGames.com/ - крутейшый (на мой взгляд) российский проект "Космические Рейнджеры" написан на Delphi + DirectX, писался около 5 лет. Игра затягивает, как MOO2. И вообще игра клевая. Один знакомый говорил - как ты в этот отстой играешь? Я ему диск дал - 5 ночь сидит - все играет, теперь говорит, что игрушка просто супер...


 
Плохой человек   (2003-05-03 15:32) [88]

2 MOP:

Конкретно недовольство по слову ЭТО, написанному капитальными буквами.


 
Плохой человек   (2003-05-03 19:59) [89]

>Можно ли написать полноценную игру в Delphi???

Можно, я разрешаю.


 
Хороший человек   (2003-05-04 00:10) [90]

cyborg © (20.04.03 16:30)

И ещё, дам только хороему человеку :), редискам просьба не обращаться. :р


Меня звали?


 
Mop   (2003-05-04 04:03) [91]

2 Плохой человек
Какое может быть недовольство? Под словом ЭТО я подразумевал 3D движок, скриншот которого дан выше


 
viman   (2003-05-07 12:40) [92]

2 MeF88
Вакансии на http://www.ElementalGames.com/
We will to consider applicants for the following positions:
- Designer
....
- Programmer (C, DirectX, OpenGL, Perl, PHP, Java)
Где ты увидел что это Delphi? Кинь линк, интересно почитать.

2 Мор
> Где ты видел такой FPS?
А я в фпс играть не хочу. А если серьезно то почему бы и не показать 200 фпс при 10 спрайтах, ну это же несерьезно. Просто показать как быстро 2D работает? Бред.
В тернете куча примеров работы с OpenGL, DirectX под дельфи, у меня был даже исходник игрушки одной (леталки, недоделанной к сожалению), так вот кол-во полигонов было нехилое, деревья, объекты, монстры с AI, требовала она 32 мб видео и при этом на моем тогда Cel500\128\32мбVanta при 1024 выдавала 45 фпс. GlScene там использовался. Так что можно на дельфи писать. :-) Разрешаю...


 
cyborg   (2003-05-07 16:37) [93]

viman (07.05.03 12:40)
Не нужно необоснованных заявлений, там не 10, не 100 и даже не 1000 спрайтов, там побольше будет.

Если сделать карту 16х12, т.е. такую, которая умещается в размере экрана, то на экране будет около 340-350 спрайтов.


 
viman   (2003-05-08 12:01) [94]

Я другое имел ввиду. Я имел ввиду что это 2D, или тут собрались 2D игрушку делать?
Вот вам примерчики еще классные. Но это все таки 3D. :-)
http://xenpage.narod.ru/exgl.htm
http://opendelphi.narod.ru/isxod.htm - !!!! - Тут класные примеры
http://delphigfx.mastak.ru/news/news0302.htm
Один из них я вчера гонял, при 9000 полигонах и "хромированной" поверхности было только 100 кадров, просто потому что таймер так настроен. меньше не было. видюха Ti4200


 
cyborg   (2003-05-08 14:37) [95]

Ты что-то имеешь против 2D?
Да, прости пожалуйста, что я у тебя разрешения не спросил, оказывается нужно было в 3D делать, а я как дурак тут сижу чего-то делаю не так.

P.S. под "видюху" GF4, как говорили выще, будет около 900 кадров.


 
viman   (2003-05-08 15:34) [96]

Сорри конечно что наехал, но пока читал месяги думал что люди 3D обсуждают. Интересно все таки увидеть чегонть серьезное в 3D и на дельфи. А то пока одни только поделки типа megaengine в тернете валяются.


 
cyborg   (2003-05-08 18:01) [97]

9000 полигонов это мало, тем более для GF4, а 100 кадров не из за таймера, думаю, было, а из за видеосинхронизации.

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

По поводу: "тут собрались 2D или 3D делать", то тема называется "Можно ли написать полноценную игру в Delphi?", а какую игру не уточняется, можно любую. Полноценная игра, это игра, в которую интересно играть, я так понимаю. Но вопос ещё стоит и как сделать, некоторые пишут "страшный" код, у таких людей и ассамблер будет тормозить, если они до него как-то доберутся.

По поводу красивых примерных скриншотов - пример это не игра.

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

Я наблюдал где-то год назад сайт, где делали аналог Фаллаута, были скриншоты уже, но проект у них загнулся, незнаю по какой причине, и сайт ихний я забыл :(, помню, что там что-то подобное названию "Пустынный волк" было или ещё как-то, хотелось бы посмотреть тот сайт, может кто знает?


 
JibSkeart   (2003-05-11 15:50) [98]

k-man © (14.04.03 15:35)

С каких пор Си стал низкоуровненым ?


 
k-man   (2003-05-11 21:40) [99]


> JibSkeart ©

Ну безусловно не ассемблер. Но ты согласен что ниже Делфи?


 
Плохой человек   (2003-05-11 22:24) [100]

>С каких пор Си стал низкоуровненым ?

Си и Си++ - тоге разница...


 
BoogeMan   (2003-05-12 02:51) [101]

Все что находится на моей страничке написано на Delphi:
http://boogesoft.narod.ru


 
k-man   (2003-05-12 12:11) [102]


> Си и Си++ - тоге разница...

Вот именно..



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

Форум: "Игры";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.73 MB
Время: 0.033 c
4-42244
Jack
2003-09-16 14:00
2003.11.13
ReadDitectoryChangeW


3-40906
Guerrillero
2003-10-19 23:44
2003.11.13
Создание таблиц в InterBase


6-41832
alex21
2003-09-08 09:05
2003.11.13
Как мне переслать файлы по сетке на все комы


3-40952
P0tia
2003-10-17 13:23
2003.11.13
Есть такая проблема.


1-41304
odyssey
2003-10-31 09:50
2003.11.13
Как удалить все файлы в каталоге?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский