Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Игровой движок | страница 2
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 2 из 4
На страницу: Пред.  1, 2, 3, 4  След. | Все страницы
Поиск в этой теме:
Канал Игры Мечты: «Игровой движок»
Delta_Q
 245 EGP


Рейтинг канала: 2(12)
Репутация: 46
Сообщения: 1722
Откуда: Русь
Зарегистрирован: 07.02.2001
Ну мне приходилось писать программное обеспечение по работе на: Бейсик, Паскаль (в дальнейшем Дельфи), Асемблер, Фартаран, Си.
_________________
Двенадцатый пилот.
In nomine patris, et filii, et spiritus sanctis.
    Добавлено: 22:56 04-04-2009   
бухой джедай
 183 EGP


Рейтинг канала: 2(19)
Репутация: 70
Сообщения: 7906 Предупреждений: 1
Откуда: Одесса:)
Зарегистрирован: 08.09.2007
ну так обьясни ты писал на многих языках ... почему именно с++ ??


ок Гвест намек понял
_________________
Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист...

Последний раз редактировалось: бухой джедай (23:04 04-04-2009), всего редактировалось 1 раз
    Добавлено: 22:59 04-04-2009   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
Delta_Q, бухой джедай - давайте всё-таки к теме топика. Холивары и меряние шворцами - в отдельно.

Автором был задан вполне конкретный вопрос, и про язык программирования - заметьте! - там не было ни одного упоминания.
_________________
Трещит земля как пустой орех
Как щепка трещит броня

Последний раз редактировалось: Guest (23:02 04-04-2009), всего редактировалось 1 раз
    Добавлено: 23:01 04-04-2009   
Delta_Q
 245 EGP


Рейтинг канала: 2(12)
Репутация: 46
Сообщения: 1722
Откуда: Русь
Зарегистрирован: 07.02.2001
бухой джедай :
ну так обьясни ты писал на многих языках ... почему именно с++ ??

1) Скорость исходного кода.
2) Очень много разработано для него библиотек.
3) Мнемоника языка очень гибкая. (Наверное не спроста языки типа Джава и многих других языков имеют схожий синтаксис)

добавлено спустя 1 минуту:
Delta_Q :

Я могу лишь акцептировать внимание на то что именно меня интересует в при выборе:
1) Быстрота реиндеринга
2) Наличие готовых функций подгрузки Моделей (желательно нескольих форматов), Текстур и возможность наложение текстур на модели.
3) Наличие сетевого протокола (т.е. простота реализации сетевого обмена)
4) возможность подгружать поверхности при помощи бит-мапов (очень удобно когда нужно грузить ланшафт)
5) Элегантность написания кода. (чем проще и универсальней выглядит написание программы на таком движке тем лучше)
6) А и еще... после одной из моих последних попыток наличие в движке удобной и простой системы Вода вывода.. (Т.е. к примеру вы смотрите на Контейнер мышкой щелкаете по нему как винде и у вас меню тип возможные варианты манипуляции с данным контейнером) общем чтоб не самому эту всю механику писать а пользовать уже готовую...


Вот по сабжу...
_________________
Двенадцатый пилот.
In nomine patris, et filii, et spiritus sanctis.

Последний раз редактировалось: Delta_Q (23:08 04-04-2009), всего редактировалось 1 раз
    Добавлено: 23:08 04-04-2009   
Digited
 271 EGP


Рейтинг канала: 4(99)
Репутация: 49
Сообщения: 932

Зарегистрирован: 24.08.2004
Delta_Q
Да ладно, бросьте.
EVE Online - python
Постил недавно - http://www.gamedev.ru/gamedesign/forum/?id=91302 Один человек + паскаль + скилл + три года
Мы с Юрой на D пишем потихоньку, перешли с С++.

Для загрузки и оптимизации серьезных сцен конкретной игры 99% нужен будет самописный тулз и свой формат.
Сеть к графическому движку и игровой логике ака игромеханике не имеет никакого.
Ландшафт - слишком специфичная для конкретных игр вещь, чтобы то, что делают в двигах, подошло большинству.
Элегантность написания кода относится к пишущему сей код.
GUI часто идут отдельно, а которые не, переписываются.
Насчет приятного интерфейса к игровым объектам - игровой редактор 99% пишется под конкретную игру. Если есть "как в винде", скорее всего то, как двиг результаты этих "кликов" сохранит и будет использовать, вас обломает в плане скорости.

Последний раз редактировалось: Digited (17:26 05-04-2009), всего редактировалось 1 раз
    Добавлено: 17:26 05-04-2009   
бухой джедай
 183 EGP


Рейтинг канала: 2(19)
Репутация: 70
Сообщения: 7906 Предупреждений: 1
Откуда: Одесса:)
Зарегистрирован: 08.09.2007
Digited :
Для загрузки и оптимизации серьезных сцен конкретной игры 99% нужен будет самописный тулз и свой формат.
пример прикрутили бодун к хзе и тормаза явились из ничего
_________________
Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист...
    Добавлено: 17:27 05-04-2009   
Sh.Tac.
 151 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1426

Зарегистрирован: 27.07.2005
Digited :
Сеть к графическому движку и игровой логике ака игромеханике не имеет никакого.


ммм.. насколько я помню вы там вроде как ММОG ваяете...

так вот странно, что по-вашему сеть не имеет ниакого отношения к игромеханике Улыбка

насколько я успел понять в ММО игровой движок (игромеханика) надстроен над сетевым, что на сервере, что на клиенте

сетевой каркас является несущим, а всё остальное является подчинённым и должно отъедать CPU по минимуму

и если выясняется, что образовался излишек по CPU, то тут самое время подумать над включением физики в модель перемещений
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 19:53 05-04-2009   
Digited
 271 EGP


Рейтинг канала: 4(99)
Репутация: 49
Сообщения: 932

Зарегистрирован: 24.08.2004
К игровому движку имеет отношение только обработка ввода/вывода по сети. Чем он осуществляется - самописной частью, .dll на любом языке программирования или сторонней либой - игромеханике должно быть пофиг, потому конкретная сеть к ней отношения как бы не должна иметь.
    Добавлено: 20:21 05-04-2009   
Sh.Tac.
 151 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1426

Зарегистрирован: 27.07.2005
Digited :
игромеханике должно быть пофиг

ага, имеено так и надо рассуждать Улыбка

а то я столкнулся недавно с такой "орхетехтурой", непосредственно в игровую логику протянуты XML'ные ноды из которых в рантайме выискиваются нужные значения, синхронно процессятся и запихиваются обратно в ту же, либо создаётся новая Совсем запутался...

в таком раскладе загрузка CPU явно перевешивает I/O Гы-гы

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

в общем, если CPU не хватает, очередь понятное дело растёт и видимых лагов это не уменьшает

вот я думаю иногда, не лучше ли в таком случае предоставить TCP/IP стеку самому справляться с нагрузкой, но тогда растёт количество повторно переданных пакетов и лагать начинает уже по-чёрному

в общем диллема'c

да, сорри, что не совсем по теме, просто никак не могу отойти от увиденного, с чем придётся по всей видимости работать Рыдания.
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 21:20 05-04-2009   
Delta_Q
 245 EGP


Рейтинг канала: 2(12)
Репутация: 46
Сообщения: 1722
Откуда: Русь
Зарегистрирован: 07.02.2001
Digited :
Delta_Q
Да ладно, бросьте.
EVE Online - python
...

Ну я говорю свою ИМХУ и формирую мнение на основании своего и чужого опыта.
Ладно раскажу немного:
EVE Online -да знаю что на Путоне ибо играю в нее уж более 2 лет Улыбка И скажу вам что Путон, это большая ошибка разрабов.. меня поймут те кто учавствовал в войнах коалиций или просто в крупных баталиях. У меня бывали случаии когда я вис один в системе лиш потому, что кластер както пересекался с местом сражения где бились 300 на 300. бывали случаи когда наш ганг в 50 тел просто на 30 минут глухо вис на подлете к зоне боев. А лаги вовремя боя это непередаваемые впечатления и матюги в ТС. Просто разрабы не расчитывали, что у них эпики будут с локалом в 800-1000.

Тепрь про языки.
Как-то давно года 3-4 назад я наткнулся на один движок.. просто случайно лазия по инету, назывался он Blitz3D. И просто заинтересовался ибо сцены и прочее получалось на удивление просто и быстро ибо правда пришлось отвыкать от С++ мнемонике ибо сам двигун работал с Бейсиком.
Удалось сделать Солнечную систему, сделать обсчеты гравитационных взаимодействий колижен детекшен и прочее. Правда чем дальше тем сильней все тормозило, потом мне зубры этого двигуна объяснили, что не стоит усердствовать с большим числом полигонов иначе двигу не справляется.
Все кончилось в момент когда мне нужно было вчухать математику в это дела для обсчета (ИИ там и прочие математические фокусы) начинало все дико тормозить ФПС-ы падали дико... Я написал 2 программы одна на этом Близе вторая на Си которые вычисляют время за траченое на простые арифметические операции... Близ показал время в районе десятков микросекунд, а Си десятков наносекунд.

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

Поэтому подытожу: Да писать можно на любом языке все зависит, что именно пишешь на этом языке.

добавлено спустя 22 минуты:
Digited :
Delta_Q
Мы с Юрой на D пишем потихоньку, перешли с С++.

Я так понимаю ты про Дельфи?
Да согласен Борлан очень хорошый и удобный делал интерфейс в этом плане мне Билдер Борлондовикй тоже нравиться в плане разработки... Мелкософт в этом плане уступает.
_________________
Двенадцатый пилот.
In nomine patris, et filii, et spiritus sanctis.

Последний раз редактировалось: Delta_Q (22:00 05-04-2009), всего редактировалось 1 раз
    Добавлено: 22:00 05-04-2009   
Sh.Tac.
 151 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1426

Зарегистрирован: 27.07.2005
Delta_Q :
Я так понимаю ты про Дельфи?


нет, гуглить Digital Mars D

вообще если работать в коде напрямую со строками, пример чего я приводил выше, то в таком случае плюсы работают ничуть не быстрее любого интерпретируемого скриптового языка Улыбка
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 22:11 05-04-2009   
Delta_Q
 245 EGP


Рейтинг канала: 2(12)
Репутация: 46
Сообщения: 1722
Откуда: Русь
Зарегистрирован: 07.02.2001
Sh.Tac. :
Delta_Q :
Я так понимаю ты про Дельфи?


нет, гуглить Digital Mars D

вообще если работать в коде напрямую со строками, пример чего я приводил выше, то в таком случае плюсы работают ничуть не быстрее любого интерпретируемого скриптового языка Улыбка

http://www.digitalmars.com/d/
Он? ну почему он мне чертовски по синтаксису напоминает Си Улыбка
_________________
Двенадцатый пилот.
In nomine patris, et filii, et spiritus sanctis.
    Добавлено: 22:43 05-04-2009   
Sh.Tac.
 151 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1426

Зарегистрирован: 27.07.2005
дело не в синтаксисе Хы...

лично меня плюсы устраивают тем, что большую часть кодогенерации можно переложить непосредственно на компилятор

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

получается на порядок надёжнее и дешевеле, чем нанимать манки-кодеров Улыбка
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 23:00 05-04-2009   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Delta_Q :
И скажу вам что Путон, это большая ошибка разрабов.. меня поймут те кто учавствовал в войнах коалиций или просто в крупных баталиях. У меня бывали случаии когда я вис один в системе лиш потому, что кластер както пересекался с местом сражения где бились 300 на 300. бывали случаи когда наш ганг в 50 тел просто на 30 минут глухо вис на подлете к зоне боев.

Каждый второй знает почему лажаются авторы самой массово по единомоментному подключению к одному миру MMOG. И каждый первый знает, как надо делать такие игры, как управлять самым большим суперкомпьютером в игровой индустрии и на каком языке нужно решать такие задачи Да. А ССР - лохи замызганные, которые нишиша в этом не рубят, да.
_________________
У меня бисера не доxеpа.

Последний раз редактировалось: Shirson (01:49 06-04-2009), всего редактировалось 1 раз
    Добавлено: 01:48 06-04-2009   
Delta_Q
 245 EGP


Рейтинг канала: 2(12)
Репутация: 46
Сообщения: 1722
Откуда: Русь
Зарегистрирован: 07.02.2001
Shirson :
Delta_Q :
И скажу вам что Путон, это большая ошибка разрабов.. меня поймут те кто учавствовал в войнах коалиций или просто в крупных баталиях. У меня бывали случаии когда я вис один в системе лиш потому, что кластер както пересекался с местом сражения где бились 300 на 300. бывали случаи когда наш ганг в 50 тел просто на 30 минут глухо вис на подлете к зоне боев.

Каждый второй знает почему лажаются авторы самой массово по единомоментному подключению к одному миру MMOG. И каждый первый знает, как надо делать такие игры, как управлять самым большим суперкомпьютером в игровой индустрии и на каком языке нужно решать такие задачи Да. А ССР - лохи замызганные, которые нишиша в этом не рубят, да.

Ой, не могу!..
Я уже щас не помню точно, но в одном из ревю нового патча... была затронута тема тормозов где разработчики ССР сами признают, что небыли готовы к тому, что будет такая нагрузка на кластер при сражениях, и мол понимают свою ошибку и пытаются ее исправить, у них даже лозунг был какой-то типа все для скорости или что-то в этом духе...
Так что не моя вина что они сами об этом говорят. Хы...

З.Ы. А один раз они патчь выложили такой, что он тер boot.ini или чето в этом духе, слава богу я его не успел скачать, во народ там кипятком писал когда у ни винда не загружалась... Очень ответственный подход к релизам Улыбка

ССР молодцы ... у них по крайней мере все получается и они что-то делают, Просто не надо идеализировать, все могут ошибаться.
_________________
Двенадцатый пилот.
In nomine patris, et filii, et spiritus sanctis.

Последний раз редактировалось: Delta_Q (12:10 06-04-2009), всего редактировалось 2 раз(а)
    Добавлено: 12:04 06-04-2009   
Digited
 271 EGP


Рейтинг канала: 4(99)
Репутация: 49
Сообщения: 932

Зарегистрирован: 24.08.2004
Shirson :
Каждый второй знает почему лажаются авторы самой массово по единомоментному подключению к одному миру MMOG. И каждый первый знает, как надо делать такие игры, как управлять самым большим суперкомпьютером в игровой индустрии и на каком языке нужно решать такие задачи Да. А ССР - лохи замызганные, которые нишиша в этом не рубят, да.

Лаги - это прекрасно.
Потому что Еве до анонса разработки, после анонса, до выхода, во время запуска и долго после пророчили мучительную смерть.
Мега космосим от независимой команды, активно развивающийся и имеющий огромную аудиторию.
Такую большую, что разработчики просто не предполагали такого успеха и такого количества подписчиков.
Во многом, Питон является причиной того, что разработчики потянули игру, запустили и активно развивают. Если бы это были плюсы, возможно, игру бы не запустили или закрыли, или она была бы совсем не того масштаба, что сейчас.

Лучше уж лаги в отличной развивающейся игре, чем судьба Blackstar.

Последний раз редактировалось: Digited (15:49 06-04-2009), всего редактировалось 1 раз
    Добавлено: 15:40 06-04-2009   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
>Delta_Q
Пошли им стратегию перехода с Питона на С++, это же просто Улыбка
_________________
У меня бисера не доxеpа.

Последний раз редактировалось: Shirson (18:36 06-04-2009), всего редактировалось 1 раз
    Добавлено: 15:51 06-04-2009   
Delta_Q
 245 EGP


Рейтинг канала: 2(12)
Репутация: 46
Сообщения: 1722
Откуда: Русь
Зарегистрирован: 07.02.2001
Shirson :
>Delta_Q
Пошли им стратегию перехода с Питона на С++, это же просто Улыбка

>Digited
"Ответчика" перепутал? Улыбка

Они ребята головастые сами разберутся чё им с Питошей делать Улыбка
_________________
Двенадцатый пилот.
In nomine patris, et filii, et spiritus sanctis.
    Добавлено: 17:34 06-04-2009   
Digited
 271 EGP


Рейтинг канала: 4(99)
Репутация: 49
Сообщения: 932

Зарегистрирован: 24.08.2004
Shirson :
"Ответчика" перепутал?

уточнил.
    Добавлено: 17:37 06-04-2009   
AlexPin
 51 EGP


Репутация: 2
Сообщения: 21

Зарегистрирован: 14.06.2008
2Delta_Q
По моему скромному разумению Улыбка необходимо сначала придумать игру, потом продумать игру, потом разработать под нее движок. Если хорошо продумать, то движок разработать будет намного проще.
2Guest
Цитата:
Я бы разделил 4-й пункт на интерфейсную часть (фидбек) и ИИ ...

Подумал и согласился.

В итоге, получается следующее:

Движок должен:
1. Отображать на мониторе требуемые объекты игры.
2. Обрабатывать физику объектов.
3. Обеспечивать звуковое сопровождение событий.
4. Позволять использовать стандартные интерфейсы игроку и ИИ для получения информации об окружающем мире.
5. Обрабатывать команды ИИ.
6. Обрабатывать команды игрока.

Насчет скриптов пока отложим Подмигиваю потому как не уверен, нужны ли они мне (но будем держать в уме).
____________________

Попробуем немного углубиться в дебри движка Улыбка

Пункт 1:
Отображение на мониторе требуемых объектов игры.

Каждый игровой объект имеет 3 координаты в пространстве (x,y,z) и направление.
Чтобы отобразить объект надо а) отобразить его каркас и б) "натянуть" на него текстуры.

Пункт 2:
Обрабатывать физику объектов.

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

Пункты 3-6 пока оставим.

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

Попробуем представить игровой процесс в, скажем, Солнечной системе. Объекты делятся на неуправляемые, которые движутся по стационарным орбитам (под действием природных сил) и управляемые, которые имеют двигатели и могут двигаться в разных направлениях с разной скоростью.
Неуправляемые объекты делятся на: подходящие для расчета столкновений (сопоставимые с размерами корабля - такие как астероиды, станции и т.д. При столкновении с ними корабль или станция повреждаются или уничтожаются) и неподходящие для расчета столкновений (такие как планеты, их спутники, звезды. При столкновении с ними корабль или станция уничтожаются). Управляемые объекты по определению считаются подходящими для расчета столкновений.
Неуправляемые объекты движутся по своим постоянным круговым орбитам с постоянной скоростью вокруг центра (планеты вокруг звезды, спутники вокруг планет и т.д.). Координаты этих объектов рассчитываются от центра их вращения. Т.о., неуправляемые объекты имеют постоянную скорость, заданную в момент их образования (постройки), их координаты можно определить в любой момент времени.
Рассчет столкновений следует вести только для пар: управляемые-управляемые, управляемые-неуправляемые.

Теперь про расчет столкновений:
По моему скромному мнению расчет столкновений по всей Солнечной системе вести не надо. Игрок все равно не видит, что происходит на другом конце системы, поэтому можно считать, что 2 корабля, допустим, летели навстречу друг другу и успешно сманеврировали и разошлись. Расчет столкновений надо вести только в пределах сферы с определенным радиусом. Центр сферы совпадает с позицией корабля игрока. Точно также столкновения не надо учитывать и в других системах. Это позволит сэкономить значительные ресурсы.
Представим 2 корабля (форма - цилиндр). 1 корабль (длина L1, диаметр D1, скорость V1 и координаты X1, Y1, Z1 ), 2 корабль (L2, D2, V2, X2, Y2, Z2). Координаты кораблей определены в момент времени t1. Квант времени игры T. Корабли в течении кванта времени движутся по прямой с постоянной скоростью. Т.е. мы имеем 2 прямые (точнее - 2 отрезка) в пространстве. Нам надо определить минимальное расстояние между этими отрезками в течение кванта времени. Если оно окажется меньше (D1+D2)/2, то в течение этого кванта времени происходит столкновение.

Завтра попробую вывести формулу для нахождения наименьшего расстояния между двумя отрезками в пространстве (если никто раньше не подскажет).
    Добавлено: 21:02 06-04-2009   
Канал Игры Мечты: «Игровой движок»
На страницу: Пред.  1, 2, 3, 4  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: По-моему, пилот просто по образу мыслей должен верить в НЛО. (сказал Hamster)

  » Игровой движок | страница 2
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18