Войти
ПрограммированиеФорумГрафика

Вопрос к тем, кто делал игры в те года, когда еще не было игровых движков в свободном доступе.

Страницы: 1 2 3 4 5 Следующая »
#0
23:49, 2 дек. 2014

Здравствуйте!

Когда небыло игровых движков, наверно не стояло вопроса что использовать, была 1 библиотека DirectX и общепринятый язык программирования С++ (так мне сейчас кажется - возможно я ошибаюсь). Но сейчас есть выбор из ряда игровых движков (которые прямо говорят "не изучай более низкие уровни - используй меня, у меня все уже сделано за тебя"). Как вы считаете, означает ли наличие сегодня игровых движков в свободном доступе, что нужно использовать только их и даже не думать о том, чтобы писать игру с нуля.

Года 2 использую Юнити, и периодически посещает мысль (ощущение), что игрвой движок очень сильно ограничивает фантазию и возможности, не смотря на то что и имеет очень много готового (в конце концов игра это творчество и  не ограничивается фишками движка).  И когда думаю попробовать делать все с нуля (например используя OpenGL ES и Андроид), быстро отбрасываю эту мысль (после 300 страниц книги по OpenGL ES или DirectX), аргументируя это тем, что "куда ты лезешь, это тебе не по зубам, зачем придумывать  велосипед, сейчас не 2000е года, когда небыло игровых движков". А с другой стороны используя игровой движок, постоянно есть это ощущение, что используешь конструктор (но более продвинутый), что все играешь, но не занят разработкой всерьез. 

Так ли это, что сегодня нету необходимости писать игру с нуля (инди разработчикам) используя например OpenGL ES или DirectХ (по тому что есть движки).


#1
0:11, 3 дек. 2014

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

#2
0:17, 3 дек. 2014

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

Чтобы выстрелить в ногу без движка придётся изобрести класс строк (хи-хи), менеджер ресурсов, формат файла ресурсов, загрузку текстур и сжатых текстур (для слабых платформ), изобрести игровой мир, побороться с тем, что не так-то просто удалить объект из списка, пока по списку идёт итерация, подключить скриптовый язык, преобразования вершин и вывод (для 2д игр), свет и тень (для 2д), печать шрифта на экране, локализация опять же, левый-правый порядок вывода (арабский язык итд), особые правила разбивки на слова (японский, китайский, французский тоже не без сюрпризов итд), звук, музыка (OpenAL на старых платформах ужасен, придётся брать чтото платное). Придётся также написать или найти подходящие инструменты для: атласов текстур, обработки текстур, рисования мира, рисования спрайтов, анимаций (скелетных и обычных покадровых), обработки звука и музыки. Это так, навскидку.

#3
1:02, 3 дек. 2014

А нафига писать движок?
Игру пиши:)

#4
1:05, 3 дек. 2014

Попробуй UE4, пиши на С++ и ничем себя не ограничивай.

#5
8:18, 3 дек. 2014

До 2005го года писали свои, с переходом на ue3 больше не пишем. Юнити - лучший движок, с которым я работал (работал с ue3, ue4, frostbite, neoaxis и совсем немного cry)
Хотя вру - 4 года назад пришлось писать движок (точнее переписывать), но для очень спицифического жанра (гонки), больше желания не возникает подобное повторять (хотя движок и развивается до сих пор и на нём вышло уже 3 игры, т.е. он достаточно эффективен)

#6
9:18, 3 дек. 2014

raskolnikoff
> Юнити - лучший движок, с которым я работал (работал с ue3, ue4, frostbite,
> neoaxis и совсем немного cry)

В смысле удобства - согласен, но не возможностей. Хотя по системе материалов UE уделывает Unity :)

#7
9:28, 3 дек. 2014

Учи 1)машинный язык архитектуры такой вот (х86интел, ZiLogZ80, и тд)
      2) язык Си, Си++(Си-подобные)  для архитектуры этой же.
В смысле для массово пользовательских машин .Типа там IntelCore (наследие процессоров Intelx8086)язык машины для IBM совместимых стандартов,ХХХХХ-язык машины для стандарта УУУУУ (Apple Mac (там процессоры иные вроде, наследие процессоров ZilogZ80 архитектура устройства ,набор команд) ), язык машины малых устройств AMR VRM процессоров (смартфоны и тд) , и си-подобные для этих архитектур .

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

а) есть машина процессора , она понимает только 00 и 11 --язык машины. машина умеет делать только А ,но человеку удобнее воспринимать Б
б) на языке Б пишется штука где для Б-команды ставится соответствие машинного языка А --- в общем виде называется трансляция ,но если Б  переводит прямо в язык машины ---это называется компиляция .(Языки Си и Си++ созданы по этому типу).
в) на языке А пишется штука где Б есть входное данное для этой штуки ----это называется интерпретация .(виртуал машина Java создана по этому типу).
г) потом придумали всю эту многообразную различность 100500штук языков для разных задач,решений проблем,условий.

Язык Си и Си++ как ближайшие языки к машинным кодам.Вроде исторически было так.

язык машины------язык ХХХ (удобнее человеку)---язык А1 (более удобнее)---язык А2(еще более удобнее)------язык А3(еще более удобнее чем А2)-------язык А-н (еще более удобнее чем язык А (н-1) ).

Сейчас вроде бы схема такая  .

  1) Язык машины ---0 и 1
  2) Мнемонический язык ---- 00000011110000011111 меняют на удобно принимаемую запись типа Add (A0,A1,A2) , Move(A3 A4 A5) ---- ошибся в одной единице --не работает,короткие фразы ---исключают ошибки (ну или ошибок меньше),удобнее.----ассемблер.
    3) Операционная система --- так называемый гибрид ------- языком машины и языком ассемблера пишут штуку которая переводит соответствия там подобие 00100011 ---- на мониторе рисует букву А (удобно читаемый человеку символ языка,кодирован шрифт)--и вся эта штука с окнами менюшками панелями тыканием мышки и тд. Сделано для удобства воспринимания,автоматизации,упрощения процессов в работе человека с компьютерной машиной.
  4) Язык Си и Си++ и им подобные которые ----отдает на (3) гибрид опер системы ---затем отдает на (2) мнемоника и ассемблер -----затем отдает на (1) язык машины ----.....ближайший язык к ступени (1) машинный код ......или (4)-------(3)-----(1) (без ступени (2) ).
5) все многообразие 100500штук библиотеки движки конструкторы форматы и тд---для удобства восприятия человеком, упрощения и автоматизации процесса ------- человек---компьютерная машина.


Таким образом язык Си , Си++ и все написанное ими ---это ступень 4 и выше , как  правило программист в общем смысле --- специалист в ступенях 4 и 5 и выше ,  ступени 3---1 называется системное ---- это специалисты в системном программировании (на них пишут драйвера устройств,узкую специфику, отдельные какието темы , специально заточенные задачи ,операционные системы, и тд) , и если ступень 4 начинают давать массово в школе (языки Basic и TurboPascal на уровне школа 8-10класс как знакомство с информатикой) то ступени 3-1 встречаются числом много меньше.

#8
13:19, 3 дек. 2014

Marat_Zahidylin
> Так ли это, что сегодня нету необходимости писать игру с нуля (инди
> разработчикам) используя например OpenGL ES или DirectХ (по тому что есть
> движки).

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

П.С. Хотя я вот свой велосипед никак не брошу, но тут вопрос наработок.

#9
13:35, 3 дек. 2014

Интересно услышать мнения - думаю тема очень актуальна на сегодня (возможно даже исторический момент когда движки все вытеснят).

Хорошая статья: http://technlogic.com/news/2014/11/02/any-reasons-to-write-3d-engine-now/
Почти во всем я так и думал.
Понравилось про авто генерацию лодов - так сказать подтверждение моих догадок, а именно:
вот движок Юнити - он очень многозадачный, но в тоже время каждая задача которую он может выполнить реализована на 20-50%, и если делать самому, то можно эту конкретную задачу сделать намного лучше (даже по тому что Юнити Текнолоджис не ставит себе такой задачи -сделать по максимуму идеально, оптимизированно.... у них другая задача - продукт в целом). И лично я ощущаю дискомфорт пользуясь Юнити и постоянно замечая вещи которые я понимаю что сделаны на 20% но я их не смогу улучшить, по тому что это вшито в Юнити. А я идеалист, и пользоватся инструментом, который не дает 100 из возможного на сегодня мне не нравится - и по этому постоянно хочется начать писать свой движок, где будут только нужные мне функции, но они будут отточены на 110 процентов. Ну и другая причина по которой мне не нравится Юнити и современные движки (да и многие программы) - очень много кнопок, функций, которые сильно распыляют внимание... а мне нужен карандаш и холст, но в отношении 3Д :)   

#10
13:51, 3 дек. 2014

Marat_Zahidylin
>сейчас не 2000е года, когда небыло игровых движков
Но ведь в 2000-е были игровые движки
И даже в 1990-е
В том числе и 3D
В том числе и свободные

#11
13:59, 3 дек. 2014

Genx
> Но ведь в 2000-е были игровые движки
> И даже в 1990-е
> В том числе и 3D
> В том числе и свободные
Я не знал. Я думал что эра движков началась после открытия доступа к UDK (UE) и появления Юнити, а до этого все писали сами :)

#12
14:29, 3 дек. 2014

Как раз наоборот в этом году заметил тенденцию к велосипедостроению. Сам пишу свой велосипед, но очень медленно. Тоже Unity заколебал тормозами на ровном месте и прочими мелкими косяками.

#13
14:38, 3 дек. 2014

Marat_Zahidylin
> Я не знал. Я думал что эра движков началась после открытия доступа к UDK (UE) и
> появления Юнити, а до этого все писали сами :)
Ну, раньше движки были чутка попроще. Тот же Огр, Иррлихт, ГЛСцена.. А еще был Game MAker, хотя он вроде и сейчас есть.
Просто тот же Юнити поднял планку игровых движков, а может и опустил:)

#14
14:46, 3 дек. 2014

Marat_Zahidylin
> Как вы считаете, означает ли наличие сегодня игровых движков в свободном
> доступе, что нужно использовать только их и даже не думать о том, чтобы писать
> игру с нуля.

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

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.