- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
var
OGTC: cardinal; // для сверки с таймером
procedure CheckPhys;
begin
if OGTC < GetTickCount then begin
Phys; // тут считается вся игровая физика и все изменения состояний. Звуки тоже здесь.
Inc(OGTC, dT);
end;
end;
procedure Graph; // процедура отрисовки графики
var
i: integer;
begin
CheckPhys;
for i := 0 to ItemCount - 1 do with Items[i]^ do CopyPosition := Position; // делаем копию состояния перед отрисовкой мира!
for i := 0 to ItemCount - 1 do begin
ShowItem(Items[i]^); // рисуем элемент мира
CheckPhys; // проверяем, не пора ли снова считать физику
end;
end;
procedure OnIdle;
begin
if PlayingGame then Graph;
end;
Надо, чтобы в игре скорость игрового процесса не зависела от тормозов графики. Даже когда кадр долго рисуется, звуки и движения делаются строго по таймеру. Создавать лишний поток мне в лом, и вообще я дико боюсь приколов с синхронизациями и так далее. Поэтому сделал такую хрень. Сэмулировал многопоточность банальным однопоточным кодом.
guest 26.05.2010 22:09 # −1
TarasB 26.05.2010 22:49 # 0
guest 27.05.2010 00:16 # +1
ну школота, что поделаешь.
Из за таких как ты сейчас программы и тормозят на четырехядерных процах.
Ох, дэльфи, дэльфи...
TarasB 27.05.2010 17:55 # −3
guest 27.05.2010 17:59 # −4
мне понравилось кстати, теперь я пишу на дельфи, ебусь в жопу и сру на говнокоде)
increazon 06.06.2010 02:48 # −3
TarasB 27.05.2010 19:02 # +1
Но с точки зрения современной моды на многоядерность это действительно не лучшее решение, за что и попало сюда.
guest 28.05.2010 15:16 # 0
TarasB 28.05.2010 16:50 # 0
TarasB 28.05.2010 17:05 # 0
rO_ot 28.05.2010 20:14 # 0
TarasB 28.05.2010 21:10 # 0
rO_ot 28.05.2010 22:32 # 0
guest 28.05.2010 22:45 # −1
rO_ot 29.05.2010 01:00 # +1
дельфи, морально устарел, и на практике является не более чем языком для обучения или написания мелких программ.
TarasB 29.05.2010 11:20 # −1
rO_ot 29.05.2010 15:09 # 0
guest 29.05.2010 15:30 # −1
с чего ты взял?
rO_ot 29.05.2010 17:34 # 0
Честно говоря за дельфи следить я практически перестал после 7й версии, сейчас там с дотнетом вроди как связались так что всё возможно. И давайте прекратим спор:)
guest 29.05.2010 18:44 # +1
и чо? а отдельнгые индусы не знают о циклах и копипастят код n раз. сделаем вывод, что в с++ нет цикла for?
дельфи - добротный ООП-язык, иерархия ООП в .net частично взята из дельфовского VCL (помимо java).
процедурно учат потому что это даёт понять основы построения алгоритмов. то что в совковых вузах не дают основы построения объектных интерфейсов - вина некомпетентных, нежелающих учиться учителей, а не дельфи.
я не защищаю дельфи, потому что она полное говно, просто какбэ не люблю когда клевещут :)
guest 29.05.2010 21:20 # −2
Ты долбоёб. Дельфи - аспектно-ориентированный язык. Настоящий ООП - это SmallTalk.
Когда, вас, макак начнут отстреливать и изолировать в зоопарке от общества?
guest 29.05.2010 21:20 # −1
guest 30.05.2010 01:25 # −1
ну ты и мудак, дельфи это компонентно-ориентированный скорее. но компониетно-ориентированность я бы сказал это разновидность ООПа, ибо включает в себя его.
guest 30.05.2010 17:38 # −2
нефига. медленее
>я бы сказал это разновидность ООПа
меньше болтай лось если не знаешь
guest 30.05.2010 21:56 # −1
guest 29.05.2010 15:18 # −1
guest 29.05.2010 15:30 # +1
хотя цпп тоже отстал от 2010 года, но засчёт огромнейшего коммьюнити живёт и здравствует, а дельфин труп перепродают из компании в компанию тем временем. и вообще ждельфи популярна только в странах разваливающегося снг, что символизируте.
guest 29.05.2010 15:31 # −1
TarasB 29.05.2010 15:34 # −1
guest 29.05.2010 15:38 # 0
TarasB 29.05.2010 16:00 # −1
guest 29.05.2010 16:06 # +1
TarasB 29.05.2010 16:30 # −1
guest 25.04.2011 09:30 # −1
guest 29.05.2010 16:09 # +1
bugmenot 25.04.2011 11:04 # 0
платиновые вбросы /gk/
guest 29.05.2010 15:32 # +1
как там поддержка Дельфей 64-бит?
TarasB 29.05.2010 15:35 # −2
guest 29.05.2010 15:37 # −1
bugmenot 25.04.2011 11:05 # 0
guest 29.05.2010 00:50 # −2
rO_ot 29.05.2010 01:00 # 0
Dummy00001 28.05.2010 23:44 # +1
я как-то тетрис написал. как только пытаешься выше 30 отрисовок в секунду делать (ака 30фпс), у всех типов таймеров (включая мультимедиа таймеры) начинает крыша ехать и из-за задержек игра становится слишком не равномерной. про потоки даже не упоминайте - там все еще хуже.
ну оно как бы и логично: все смотрят в играх на frames-per-second. больше - лучше. а если хочешь как можно более высокий фпс, то само собой разумеется что CPU на 100% всегда будет загружатся. а если ЦПУ на 100% по определению может загружатся, то на кой хер с таймерами возится - простой tight loop намного более прост и эффективен.
guest 29.05.2010 00:23 # 0
guest 29.05.2010 00:49 # −2
guest 29.05.2010 01:00 # 0
TarasB 29.05.2010 11:21 # +1
"Главное, чтоб C и C++ не были единственными доступными программисту инструментами — иначе это адски паршивый программист."
guest 29.05.2010 11:33 # +1
знаю бейсек, хаскель, лисп, окамл, сишарп, жабу, чуть=чуть с++, обж-с, брейнфак, пейтон, но паскаль не знаю и знать не хочу.
TarasB 29.05.2010 11:36 # +3
"Бейсек - 11%
Крэкинг - 34%
ICQ - 10%"
Вебкилл, залогинься.
guest 29.05.2010 11:38 # 0
TarasB 29.05.2010 11:49 # −2
guest 29.05.2010 11:50 # −1
слил, короче
This is obvious 29.05.2010 12:00 # 0
guest 29.05.2010 12:04 # 0
This is obvious 29.05.2010 12:06 # 0
guest 29.05.2010 12:09 # 0
This is obvious 29.05.2010 12:17 # 0
guest 29.05.2010 12:47 # +1
bugmenot 02.06.2010 05:54 # 0
бородат?
guest 02.06.2010 06:21 # 0
This is obvious 02.06.2010 11:06 # 0
guest 02.06.2010 11:31 # 0
guest 02.06.2010 11:31 # −1
guest 02.06.2010 11:38 # −1
guest 29.05.2010 11:36 # −4
это чья цитата? какого-нибудь пришибленного вирта?
guest 06.06.2010 05:40 # 0
цитата луговского произнесенная в одном из эпичных тредов.
Bjarne_Stroustrup 06.06.2010 09:05 # +1
TarasB 29.05.2010 00:58 # 0
Строчка номер 17.
> в-третьих синхронизировать аудиопоток стука колёс со скоростью трамвая
Нету аудиопотока колёс, понимаешь? Каждое пересечение колеса с каждым стыком честно считается, при этом издаётся стук. Дельты не катят, ритм стука сразу нарушается, я проверял. И кстати, как с дельтами сделать ускорение и гармонические колебания вагона после прохождения стыка?
> каким образом кадр должен отрисовываться так долго
Ты вообще обсуждение читал? Про 600 МГц селерон и 8 МБ видео, например?
Кстати, на современных компах игра успешно обрабатывает в реальном времени всю трамвайную сеть Петербурга. Рисует, правда, только 2-км окрестность. По ночам можно увидеть линии фонарей дальнего квартала.
> ты наверное в лоб рисуешь, без каких-либо приличных алгоритмов
Да, я не делаю БСП, если ты об этом. Там не в нём дело.
guest 29.05.2010 11:32 # −1
я ебу, опенгл должен справиться
TarasB 29.05.2010 11:38 # 0
guest 29.05.2010 11:39 # −1
TarasB 29.05.2010 11:53 # 0
guest 29.05.2010 13:05 # 0
guest 29.05.2010 13:05 # −1
TarasB 29.05.2010 14:27 # −1
WebKill_HochetVBan 17.07.2010 17:07 # 0
Кстати, программа коммерческая? Для чего используется и используется ли? Может есть предложения, для чего она будет использоваться?
TarasB 17.07.2010 20:52 # 0
Были идеи использовать для обучения. Или для расчёта расписания.
guest 06.06.2010 19:19 # +1
http://www.gamedev.ru/code/forum/?id=133916
Даже скриншёты есть.
guest 06.06.2010 19:36 # −1
Вспоминается старый добрый ДОС. Про что игрушка хоть? Поподробней плиз. :)
TarasB 07.06.2010 17:47 # 0
> Про что игрушка хоть?
Гугль первой ссылкой выдаёт на запрос "трамвайный симулятор".
guest 07.06.2010 18:17 # −1
guest 07.06.2010 18:19 # 0
guest 07.06.2010 18:23 # 0
TarasB 07.06.2010 19:03 # 0
Все вопросы RTFM.
guest 07.06.2010 19:12 # −1
bugmenot 22.07.2010 09:50 # 0
bugmenot 22.07.2010 10:02 # 0
This is obvious 06.06.2010 20:04 # +2
WebKill_HochetVBan 16.07.2010 16:30 # 0
http://papertram.ucoz.com/forum/10-47-1
И да. Я Pokimon. Неправильно пишешь.
TarasB 16.07.2010 18:03 # +1
WebKill_HochetVBan 16.07.2010 19:16 # +1
зы: Трамваи действительно разгоняются на 90 км(или миль)? А они могут больше?
TarasB 16.07.2010 21:10 # 0
Не понял насчёт бетмена.
WebKill_HochetVBan 16.07.2010 21:18 # 0
Ой. Ну не пребедняйтесь. Был там такой с треугольными ушами. :) Он меня ещё спасал, когда два трамвая столкнулись, после выключения автопилота. :)
TarasB 16.07.2010 21:35 # 0
WebKill_HochetVBan 16.07.2010 22:29 # +1
Webkill 16.07.2010 20:24 # +1
постарайтесь!
TarasB 16.07.2010 21:11 # 0
Webkill 16.07.2010 22:56 # +1
TarasB 16.07.2010 23:09 # 0
Webkill 17.07.2010 00:57 # 0
Потому что говнокод и логика макаронинами вшита в графический код?
TarasB 17.07.2010 12:08 # 0
Ты в фаркрае видел галочку, позволяющую играть на первом пне?
Webkill 17.07.2010 12:18 # 0
WebKill_HochetVBan 17.07.2010 15:02 # 0
WebKill_HochetVBan 17.07.2010 15:03 # 0
Ну вы меня поняли. Я как-бы о задачах говорю.
Webkill 17.07.2010 15:11 # 0
WebKill_HochetVBan 17.07.2010 15:16 # 0
bugmenot 22.07.2010 10:49 # 0
На днях выкачал симулятор для космофагов (кроме субъекта idee fixe, существенных отличий от железнодорожных фетишистов нет) и наблюдал совершенно сказочные тормоза, причем в таких местах, где работы шейдера в общем-то и не видно. (ЧСХ, имя файла оказалось 'orbiter100606.zip')
Webkill 17.07.2010 12:44 # 0
В 3d-редакторах вроде есть функция уменьшения числа полигонов в получившейся модели. Вообще в любых совр. играх делают сразу где-то по три версии модели (на каждый LOD).
WebKill_HochetVBan 17.07.2010 15:00 # 0
Ты кого учишь? Гейммейкера учишь. Сколько ты игр сделал? TarasB как минимум сделал эту.
Webkill 17.07.2010 15:10 # 0
WebKill_HochetVBan 17.07.2010 15:28 # 0
Webkill 17.07.2010 15:32 # 0
guest 25.04.2011 02:04 # −1
guest 25.04.2011 08:35 # −1
guest 25.04.2011 11:10 # −1
TarasB 17.07.2010 15:47 # 0
Webkill 17.07.2010 16:00 # +1
> Про известные 3Д-редакторы не надо - так народ даже с фарами геморроится по страшному.
Чё не надо? Посмотри любую игру -- на рразные LOD'ы разная детализация модельки. Какой геморой? Я точной комманды не скажу, но в тридэсмаксе уменьшать полигоны можно буквально двумя щелками
> А случайный цвет вагона?
А это как-то зависит от сложности модельки? Так же перекрашивай, как и перекрашивал. Вообще вагоны не самое главное, их можно делать "квадратными", особо никто разниц не заметит (ибо в рашке транспорт таковым и является - квадратным). Я больше говорил про окружение: дома, природа, деревца там. Чтоб было на что смотреть.
> А лампочки, меняющие цвет в зависимости от номера маршрута (есть такие на вагонах сверху)?
Над этой проблемой лучшие умы геймдева бьются уже десятилетия лол
Только опять же, я не понял каким боком здесь сложность моделек вообще
TarasB 17.07.2010 16:49 # 0
Ты промахнулся на 180 градусов.
> Так же перекрашивай, как и перекрашивал.
У меня свой формат. Что я буду делать с форматом Макса? Только модель фиксированного цвета, и всё. У меня модель - это одновременно модель и простой скрипт.
> Над этой проблемой лучшие умы геймдева бьются уже десятилетия лол
Тогда почему в Trains и MSTS так делать не выходит? И ещё много чего.
Webkill 18.07.2010 05:51 # 0
А ты в чём их делаешь? Вручную, что ли, как в детстве в бейсике: DrawLine(..) -- с постоянной проверкой Run на каждом шагу, что вышло?
В 3dsmax и подобных ему пакетах всегда есть система плагинов (в 3dsmax это MAXScript, в Blender -- Python) -- можно написать самому простенький экспортер в свой формат (перебором полигонов в сцене). Так геймдев-компании и делают обычно.
> Только модель фиксированного цвета, и всё
Хм....
> Тогда почему в Trains и MSTS так делать не выходит?
Думаю, потому что говно.
WebKill_HochetVBan 17.07.2010 16:58 # 0
> А случайный цвет вагона?
Плохому танцору...
Тем не менее - то что есть - всё равно мне нравится.
А там только ночь? У нас по ночам трамваи не ездят. Да и ночь не всё время...
TarasB 17.07.2010 17:26 # 0
WebKill_HochetVBan 17.07.2010 17:47 # 0
WebKill_HochetVBan 17.07.2010 17:49 # 0
TarasB 17.07.2010 22:18 # 0
Говногость 16.07.2010 21:02 # +2
TarasB 16.07.2010 21:10 # +1
WebKill_HochetVBan 16.07.2010 21:20 # 0
TarasB 16.07.2010 21:39 # 0
Я начинал это три года назад, мне было 19, я был бородат, писал, лишь бы работало.
CepbIu 19.07.2010 06:52 # +2