Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Full Screen в GlScene [Delphi, Windows]


Страницы:   1 2 3

Galiaf ©   (2006-02-05 01:18:00) 

Я начал делать игру, затем глянул пример с glfullscreenviver и переделал на него но меня немного пугает тот факт что программа работает только за счёт цикла:
  while GLFullScreenViewer1.Active do begin
     Forms.Application.ProcessMessages;
     Sleep(1);
     Teapot1.TurnAngle:=4*Frac(Now*24)*3600;
     DCBlueLight.RollAngle:=32*Frac(Now*24)*3600;
  end;

и это всё жрёт 100% проца в таске, так же не знаю как в этом случае узнать FPS.
Может кто высказать своё мнение об этом, как лучше делать полный экран, может обычным растягиванием формы или кто может рассказать как правильно пользоваться этим компонентом.


Galiaf   (2006-03-02 21:21:00) [1]

Я устал. Что-то сейчас не думается, уже начал обратно на DCE переделывать. Ужас да и только. Векторы говоришь? И наверное всё очень просто. Я в этой отрасли не силён, ещё "зелёный" как говорят некоторые. А в коде это можешь показать? Я уже многому научился по примерам, а как начну из воздуха брать идеи, появляется чувство, что неграмотно делаю. Главная причина того, что начал писать сам, а не пользовать DCE - это то, что бомбы ставятся под ногами, и застревает... Можешь надумать что-либо? У меня идеи уже от этого клонятся к написанию рпг в которой управление кликам мыши по земле, там только написать алгоритм поиска пути и никаких проблем :).


Fosgen   (2006-03-02 20:25:00) [2]

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


Galiaf   (2006-03-02 14:53:00) [3]

У меня работало, но глючило, и ещё надо что бы при установке бомб под ногами персоанаж не застревал. Как-то не в тему идем, эта тема уже давно отработала своё. Есть вопрос по скольжению (физика говорю потому, что короче чем описывать, что это столкновение и скольжение).


Fosgen   (2006-02-28 00:57:00) [4]

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


Galiaf   (2006-02-22 21:32:00) [5]

Нужны только столкновения, т.к. glscene всё ещё не познал, незнаю как пользоваться простейшими столкновениями, видел в примерах collisionmanager или что-то вроде того, даже понимаю как им пользоваться, но мне нужно что бы при заходе к стене под не прямым углом прекращалось движение только в сторону стены, т.е. должно выходить в этом случае трение (команда move отпадает, использую для движения position, если к нужной координате положения прибавить вектор направления, то выходит движение куда смотрит персоонаж, но боюсь что вычислений за много). В своей "физике" реализовать получилось но как я уже говорил, она не совершенна, да и игра у меня так устроена что всё вроде просто а как грамотно сделать не знаю. У меня весь уровень разбит по квадратам, необходимо проверять наличие стены не на текущем положении игрока а на его следующем положении, сперва надо узнавать выйдет ли он из квадрата, а только потом всё остальное, а всё это потому, что игрок ставит бомбу прямо под ногами и если проверять текущий квадрат, то игрок застревает.
Ещё как-то странно я всё организовал, в некоторых положениях игрок может наполовину идти в стену, я знаю почему но когда исправлял, игрок плохо тёрся и иногда застревал. Сейчас ничего не делаю вообще (подсел на моровинд :), угадайте почему), в ближайшем будующем буду думать, а пока не придумаю решение, физику переделывать методом тыка не буду. А решения в голову приходят разные, самое рациональное из них это пользоваться средствами glscene, ибо она для того и создана, что бы не спрыгивать на более низкий уровень програмирования. Но glscene знаю плохо, где узнать незнаю.


Fosgen   (2006-02-21 11:37:00) [6]

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


Galiaf   (2006-02-14 20:34:00) [7]

Когда я сказал что не считаю себя геймером я не имел в виду то не играю в игры :). Для меня геймер это тот кто света за играми не видит, но это только моё мнение. Сам я до того как начал пробовать игры изнутри играя в ту же готику думал что там привосходная графика, а вот на днях переигрывал (кстати ~15 часов в сумме заняло хотя раньше козалось что это длиннющая игра) и заметил огромнейшие недостатки в графике, простая покадровая (а местами нелепая) анимация (правда некоторая мне нравится) и что ещё интереснее, если смотреть на лес с большого расстояния, то можно заметить что он окружён большёй стеной с лесоподобной текстурой, а при приближении стена пропадает и появляются трёхмерные деревья :).
Вячеслав, а ты собственно используешь готовую физику типа ODE или DCE, или же делал сам? Я вот заметил что при использовании готовой у меня начинаются нехорошие тормоза, а при изготовлении своей тормоза тоже есть + несовершенство алгоритма что приводит к тому, что в определённых позициях чувак заходит в стену до половины.


Fosgen   (2006-02-13 08:16:00) [8]

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

А насчет геймеров и гейммейкеров... Например за угром одним из критериев приема на работу связанную с гейм девелопментом является: "любовь к прохождению игр, знание их и желание изучать". Ну по вариациям - могут даже указать жанры... Так что - если ты в игры не играешь (т.е. - не являешься геймером), то откуда тебе известно какие игры стоит делать на рынок? Так же как не известно какие приемы спользуются в играх для моделирования того или иного эффекта\объекта\аспекта мира\окружающего пространства\физики и т.д. Например, поиграв в Ил-2 Штурмовик, HomeWorld, Gegemonia - Legions Of Iron, Nexus:Jupiter Incident, я разобрался как "дешевыми" способами создаются такие объекты как : взрывы, горение, дымные хвосты, выхлопы двигателей, туманности, большие скопления мелких астероидов, эффекты бликов, осколки взрывов, интерфейсы... Если малость отвлечься от процесса самой игры, а вглядеться в то как сделан тот или иной элемент - можно для себя много нового открыть...
И ряд вопросов на тему: "Как делается то или это?" - отпадает.


Galiaf   (2006-02-12 15:16:00) [9]

Запомню на будующее


XProger   (2006-02-12 12:40:00) [10]

Galiaf, всё опять же зависит от игры... если твои пятнашки не требуют постоянного опроса клавиатуры, работы с сетевым кодом, постоянно изменяемой игровой картинки с хорошим её качеством - то ставь WaitMessage в цикл обработки сообщений :) Или используй следующий цикл:
 while GetMessage(msg, 0, 0, 0) do
 begin
   TranslateMessage(msg);
   DispatchMessage(msg);
 end;

http://xproger.mirgames.ru/tmp/Form1.rar- 2 кб (не сжат :) которые ничего не жрут :)

P.S.
В случае пятнашек (имхо) должно хватить средств GDI...


Galiaf   (2006-02-12 12:30:00) [11]

Кстати, я тут вспомнил, вернёмся к началу топика. XProger высказал мнение, что игрушка должна брать столько сколько ей надо и 100% проца это норма. Сошласен. Допустим я хочу написать не игрушку без VCL. Я как-то писал пятнашки с VCL, правда это была моя первая игрушка на делфи, например я захочу написать нечто подобное без VCL, думаю 100% процессора в этом случае не какти. Идеи? Если я захочу писать подобную вещь, то быстрее всего на api, vcl наскучил уже :).


Galiaf   (2006-02-11 21:15:00) [12]

Хотелось бы уточнить на чём пишешь (GLScene?), сам делаешь модельки и текстуру? Я например не способен сам делать модельки. Каким образом проэкт обрастает людьми и появляется заказчик (в смысле ты проэкт рекламировал или что?)?
>Потому - я считаю что время хороших игр, писаных геймерами далеко не прошло. Только геймеров стали больше отвлекать от полезных дел яркими красками  всякие современные 3D произведения... Потому и потерялись геймерские создания в потоке ширпотреба...
Я не считаю себя геймера, это уже указывает на качество моей игры:)? Я не отрицаю что игра будет плохой, но я буду стараться, что бы сделать её для себя, а не для народа.


Fosgen   (2006-02-11 20:10:00) [13]

Ну народ, вы тут раздули...
Для начала - по теме ветки (если еще актуально):
На форму помещаешь два компонета - GLSceneViewer и GLFullScreenViewer.
Для второго - указываешь разрешение в Height и Width. Камера - та же что для GLSceneViewer. Как только GLFullScreenViewer1.Active становится True - получаешь фулскрин.

if FullScreen then begin //условно
   GLFullScreenViewer1.Cursor := crNone;
   GLFullScreenViewer1.Active := True;
 end
 else begin
   GLSceneViewer1.Cursor := crDefault;
end;


Далее.

Я абсолютно согласен с тем что толковый проект, коммерческого уровня потянет на огромные временные затраты. Но зато как интересно создать нечто, что увидит много людей. Ну и малость заработать на этом - в виде компенсации.
Как пример: http://adm.trening-omsk.ru- проекту уже более 1,5 лет. Делаю пока в одиночку. Вроде проект начал "обрастать" людями, главное - есть заказчик, готовый финансировать проект с определенной стадии. Сейчас проект двигается полным ходом именно к оной.
Так что - все возможно и для одиночек!
Кстати, в этом проекте я надеюсь реализовать некоторые свои "фантастические" идеи - например моделирование групповой динамики команды людей, общее моделирование психики отдельных индивидуумов, а также модель мира, в которой разведка, а также информационные каналы будут иметь ОЧЕНЬ важное значение...
Идеи может и звучат бредово, но зачин уже положен и перспективы очень неплохие, особенно учитывая некоторое знание психологии...

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


Galiaf   (2006-02-10 21:53:00) [14]

to LexaDup - я и так не знаю куда деваться, когда ставлю много бомб (правда столько ставить нельзя будет но всё же, ещё могое не готово) игра начинает так глючить... Ограничение и так не хватающего FPS не катит.
to Creative - тоже не люблю шутеры (играть), люблю квесты (не могу найти, покупать не по карману), люблю рпг, вообще люблю игры с интересным сюжетом (в игре с хорошим сюжетом графика уходит далеко на задний план) и очень люблю хорошие головоломки в квестах (например). Вспоминается вскрывание замка в "Still Life" :).


Galiaf   (2006-02-10 21:47:00) [15]

to Creative - Возможно ты будешь смеяться, моя лучшая игрушка (насколько я помню она же и последняя) - это кубик (такой который обычно бросают и выпадает число 1-6) в нём было 6 светодиодов (лампочек специфических) и при нажатии на кнопку они поочерёдно загорались, а при отпускании оставались светиться несколько штук. Если уменьшить частоту (поменять конденсатор на другой, более маленькой ёмкости), то можно наблюдать тот цикл по которому игрушка и работала. Светодиоды зажигались слева на право по одному, а затем гасли слева направо, затем опять зажигались. На самом деле, всё собирал только по готовым схемам, никогда кроме одного раза ничего не придумывал сам, а придумал игру "камень, ножницы, бумага"(точнее схему по которой всё собиралось), она работала нормально, но оформить я её не мог, да и провода были плохие и отваливались всё время :). На счёт гирлянды, то что  имел в виду не совсем рандом. Можно сделать для каждой лампочки простенький генератор (3 детали) и соеденить их всех с источником питания, в этом случае, даже если брать одинаковые детали, все лампочки будут мигать со своей частотой (у деталей (у тех которыми я пользовался) есть отдна особенность - они никогда не бывают одинаковыми  ), вот вся эта схема может показаться рандомом.
Ты стесняешся своего возраста? Мне например 17.
>>я знал как тебя заинтриговать :)
тогда зачем говорил "не смотри"? тебе знакомо значение слова лицемерие? :-)

когда я сказал, что знал, я не имел в виду что я знал, и я не лицемерил, это была обычная шутка, думаю если бы я сказал "в живую", то ты поняла бы, а так я даже не могу объяснить.
>IMHO - in my humble opinion (= по моему скромному мнению)
Пасиб!


Creative   (2006-02-10 17:39:00) [16]

Galiaf ©   (08.02.06 21:07) [32]
>Ой, а можно поподробнее?????
Cпрашивай.

Лучшая игрушка, которую ты сделал в жизни?

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

Что будет достаточным стимулом для того, чтобы ты вспомнил?

>>Ты думаешь мне 12 лет и я только что открыла для себя Warcraft, что >>делаешь такие смелые утверждения? ;-)
>Нет, я так не думаю, а если правда, очень интересно сколько тебе.(не >люблю стратегии)

У меня уже есть паспорт, не еще нет пенсионного свидетельства. :-)
А люблю я не стратегии, а жизнь. Люблю решать задачи, собирать красивые вещи, общаться с людьми (пусть даже и выдуманными). Я люблю играть в осмысленные игры, шутеры в этом смысле меня не устраивают.

>А кто тебе говорил что вампиры это плохо, особенно если учесть что их
>нет?

Мне не эстетично играть за Undead`ов :-)

>Это самое лучше что ты мог сказать, чтобы я посмотела :-D
>я знал как тебя заинтриговать :)

тогда зачем говорил "не смотри"? тебе знакомо значение слова лицемерие? :-)

>Сто раз видел слово Сабж и Имхо но ниразу не видел что они значат.

IMHO - in my humble opinion (= по моему скромному мнению)


LexaDup   (2006-02-10 16:13:00) [17]

Не знаю актуально ли, но...
Насколько я разобрался, 100% загрузку проца создаёт каденсер. У себя я решил это изменив его SleepLength. Значение подбирал экспериментально(в моём проекте около 10). Как я понимаю данное свойство ограничивает верхний предел fps.
Всё вышенаписанное это только моё решение данного вопроса и если кто-то знает почему так делать не стоит (или это в корне не верный подход) - напишите об этом.


Galiaf   (2006-02-09 16:47:00) [18]

А имхо?


Домовенок   (2006-02-08 22:52:00) [19]

> Galiaf ©   (08.02.06 21:07) [32]
> Сто раз видел слово Сабж и Имхо но ниразу не видел что они значат.


"Сабж" от английского сокращения Subj - что занчит Subject (заголовок) :)


Galiaf   (2006-02-08 21:07:00) [20]

>Ой, а можно поподробнее?????
Cпрашивай.
>А слабо спаять елочную гирлянду, в которой лампочки рандомно зажигались бы и гасли? :-)
легко, раньше делал, только маленькие, а сейчас понадобится много времени что бы всё вспомнить.
>Ты думаешь мне 12 лет и я только что открыла для себя Warcraft, что делаешь такие смелые утверждения? ;-)
Нет, я так не думаю, а если правда, очень интересно сколько тебе.(не люблю стратегии)
>не играю в игры, сюжет которых противоречит моим представлениям о том, что есть хорошо и плохо. :-)
А кто тебе говорил что вампиры это плохо, особенно если учесть что их нет?
>Это самое лучше что ты мог сказать, чтобы я посмотела :-D
я знал как тебя заинтриговать :)
>subj рулит, имхо =) ждем-с с нетерпением. шедефр.
Сто раз видел слово Сабж и Имхо но ниразу не видел что они значат.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо