Создаём 3D движок
| |
mkostoevr | Дата: Суббота, 12 Сентября 2015, 15:29 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| В общем так: решил я недавно (года эдак 2 назад) связать свою жизнь с игроделием. Перепробовал почти все известные игровые движки (кроме Нереального Движка 4 (лень язык печати изменять)), ну и, естесственно, в голову пришла мысль создать свой оригинальный движок... Ну... Не то, чтобы "оригинальный"... Короче, у меня есть много исходников движков, и я хочу написать программу, которая почти все действия игры, объектов и персонажей считывала-бы с текстовых файлов (желательно с ЭлТэИкс и ИксЭмЭл (Да-да, вы правильно поняли, я делаю копию Икс-Рэй Енджине (движка, на котором написаны игры серии С. Т. А. Л. К. Е. Р.)). Ну так вот, на какой программе мне эту программу делать? Делфи? Паскаль? Или может просто в блокноте? Ах-да: и желательно использовать 3д модели формата, доступного программе Блендер. Ну и.. текстуры ДиДиЭс и звуковые файлы ОГГ это уже естесственно... Ну и какой-нибудь визуальный редактор для этой игры... (Простите за нахальство)
Поможете?
Ерунда всё это
|
|
| |
martuk | Дата: Суббота, 12 Сентября 2015, 15:42 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Странные вы люди, а яп ты какой знаешь?
|
|
| |
PATCH1 | Дата: Суббота, 12 Сентября 2015, 15:47 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| Цитата martuk ( ) Странные вы люди, а яп ты какой знаешь? А ему и ненадо знать ЯП. Он мозг проекта, нужна рабочая сила. ну или создать движок на ccылка. Где то на форуме уже был движок на основе конструктора)))
|
|
| |
mkostoevr | Дата: Суббота, 12 Сентября 2015, 15:59 | Сообщение # 4 |
частый гость
Сейчас нет на сайте
| Цитата martuk ( ) Странные вы люди, а яп ты какой знаешь?
Что за ЯП?Добавлено (12 сентября 2015, 15:54) --------------------------------------------- martuk, что за ЯП? Добавлено (12 сентября 2015, 15:59) --------------------------------------------- martuk, PATCH1, Руки, мозги, всё есть, сейчас java script учу, рабочая сила тоже не нужна, просто скажите на какой программе лучше писать движки такого типа... Или с С++ работать, или с Delphy, или ещё с чем-то...
Ерунда всё это
|
|
| |
basist | Дата: Суббота, 12 Сентября 2015, 16:05 | Сообщение # 5 |
пациент Flight Dream Studio
Сейчас нет на сайте
| Цитата mkostoevr ( ) Что за ЯП? Ты серьёзно?
|
|
| |
PATCH1 | Дата: Суббота, 12 Сентября 2015, 16:05 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Цитата mkostoevr ( ) martuk, PATCH1, Руки, мозги, всё есть, сейчас java script учу, рабочая сила тоже не нужна, просто скажите на какой программе лучше писать движки такого типа... Или с С++ работать, или с Delphy, или ещё с чем-то... написание игрового движка, это тебе не сообщение Hello World на JavaScript. по факту игровой движок не зависет от "языка программирования" язык программирования - это способ описание взаимодействия между компьютером и человеком. Хоть на Ассемблере пиши. Главное что бы был компилятор или интерпретатор который "создаст бинарник" под ОС на которую ты создаешь Игровой движок. Можешь Си , C# , Java, Pascal, Delphi (ранее Object Pascal) , C++ , Assembler. Языков много. Хоть на GML пиши)))))))можно вообще гибрид, C/C++ , или C++/C# много где можно найти такое. По факту игровой движок можешь хоть на JavaScript + Html5+php реализовать)) будешь создавать игру в браузере)))
Сообщение отредактировал PATCH1 - Суббота, 12 Сентября 2015, 16:06 |
|
| |
m_morglod | Дата: Суббота, 12 Сентября 2015, 16:08 | Сообщение # 7 |
уже был
Сейчас нет на сайте
| mkostoevr, На выбор языка программирования (ЯП) для движка влияет список желаемых фич (возможностей), сроки разработки, удобства, платформы итд. Судя по первому посту лучше получи больше опыта в разработке программ/игр на уже готовых системах (конструкторах/движках).
|
|
| |
martuk | Дата: Суббота, 12 Сентября 2015, 16:18 | Сообщение # 8 |
заслуженный участник
Сейчас нет на сайте
| Если хочешь то возьми delphi + GLScene. Квадратики порисуй (2d) сделай управление кнопками. Затем сам опиши управление камеры. Если не надоест, и ты все сделал, то имеешь право хоть чуть-чуть подумать о написании для начала редактора карт и ранера для него. (Сохранение координат расставленных объектов, а в ранере загрузка координат с перемещением ГГ)
Как то вот так для быстрого старта.Добавлено (12 сентября 2015, 16:18) --------------------------------------------- Но и тут пока и не пахнет самописным движком, когда научишься понимать такие вещи, можешь уже переходить на более функциональные среды для разработки.
|
|
| |
lvovand | Дата: Суббота, 12 Сентября 2015, 16:22 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| Цитата mkostoevr ( ) Короче, у меня есть много исходников движков, и я хочу написать программу, которая почти все действия игры, объектов и персонажей считывала-бы с текстовых файлов то есть известные движки, создаваемые и шлифуемые профессиональными командами не один год, не умеют читать текстовые файлы, что за бред или недотроллинг
Разработка и продвижение сайтов. Дизайн
|
|
| |
martuk | Дата: Суббота, 12 Сентября 2015, 16:26 | Сообщение # 10 |
заслуженный участник
Сейчас нет на сайте
| lvovand, Я походу понял у чему он клонит.
mkostoevr, Ты хочешь какой-либо готовый движок научить считывать инфу с файла и воспроизводить ее?
|
|
| |
mkostoevr | Дата: Суббота, 12 Сентября 2015, 16:35 | Сообщение # 11 |
частый гость
Сейчас нет на сайте
| Цитата m_morglod ( ) Судя по первому посту лучше получи больше опыта в разработке программ/игр на уже готовых системах (конструкторах/движках). Ну, насчет опыта в разработке программ/игр (правда я до сих пор делал только игры)... Он у меня есть, средний, но есть... Я отлично работаю с 2д конструктором Game maker studio, co скриптингом GML разобрался, единственная проблема - 3д игры, этот юнити меня уже задолбал со своими "Check all script errors before start the game". Он так реагирует даже когда я точно копирую скрипты с сайтов... Ну проехали...
Вы все играли в S.T.A.L.K.E.R.? Если да, то вы должны знать, что X-Ray Engine берёт большУю часть информации из отдельных текстовых файлов, свойства материалов из отдельных Шадеров и т. д. Какой ЯП сможет обеспечить такой тип действия программы, чтобы она понимала что делать и как реагировать на действия, считывая эту информацию с текстовых файлов?Добавлено (12 сентября 2015, 16:35) --------------------------------------------- martuk, да, точно так
Ерунда всё это
|
|
| |
tracer07 | Дата: Суббота, 12 Сентября 2015, 16:51 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| ЯП - Язык программирования
Опоздал с ответом..
Сообщение отредактировал tracer07 - Суббота, 12 Сентября 2015, 16:53 |
|
| |
mkostoevr | Дата: Суббота, 12 Сентября 2015, 16:55 | Сообщение # 13 |
частый гость
Сейчас нет на сайте
| tracer07, Ничего, бывает
Ерунда всё это
|
|
| |
Ordan | Дата: Суббота, 12 Сентября 2015, 17:17 | Сообщение # 14 |
Главный зомби
Сейчас нет на сайте
| Цитата mkostoevr ( ) ы все играли в S.T.A.L.K.E.R.? Если да, то вы должны знать, что X-Ray Engine берёт большУю часть информации из отдельных текстовых файлов, свойства материалов из отдельных Шадеров и т. д. Какой ЯП сможет обеспечить такой тип действия программы, чтобы она понимала что делать и как реагировать на действия, считывая эту информацию с текстовых файлов? Скайнет думаю кое как да справится.
Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)
Мои проекты ТЫК Мои видяхи на ютубэ ТЫК
Если ты споришь с идиотом, вероятно тоже самое делает и он.
|
|
| |
martuk | Дата: Суббота, 12 Сентября 2015, 17:19 | Сообщение # 15 |
заслуженный участник
Сейчас нет на сайте
| mkostoevr, Это глупо. Это должен уметь не ЯП а программист владеющий этим языком. Без доли сарказма: Начинай с 2d. Как не зная 3d основ написать 3d движок?
Сообщение отредактировал martuk - Суббота, 12 Сентября 2015, 17:34 |
|
| |
TLT | Дата: Суббота, 12 Сентября 2015, 20:57 | Сообщение # 16 |
Сейчас нет на сайте
| ЯП нужно брать актуальный (популярный), чтобы в будущем не иметь проблемы и не юзать костыли, не писать самостоятельно порты и адаптации известных библиотек. Например, если будешь юзать C++, то для твоего движка уже будет масса самых актуальных фреймворков, которые ты просто встроишь в свой движок и не будешь возиться с написанием своей звуковой библиотеки, физической и т.д. Если будешь юзать менее популярный ЯП, то для него может не быть нужных либ, а те форки, которые уже кем-то сделаны, могут быть с кучей косяков и вообще с фичекатами, в сравнении с оригинальной либой на C/C++. Я уже не говорю про то, что в некоторых устаревших языках, которые не поддерживаются производителями, может не быть современных фич, значительно облегчающих сложные маневры и решения. Например, не сможешь работать с важным API любых современных стандартов.
Например, очевидно, что на Бейсике ты не сможешь сделать движок, использующий новейшие графические интерфейсы. Можно как-то заюзать костыли, которые в той или иной мере, что-то дадут, но это будет мучительная история.
А человек, который не знает программирование и архитектуры платформ на отлично, тому нет смысла браться за что-то сложное, типа движка. Проще взять открытое и значительно модифицировать под себя. Что изучать? По написанию движков есть масса литературы, объясняющей архитектуру построения модулей (например, от автора движка C4). Математика, алгебра, тригонометрия, физика – эти предметы желательно знать на отлично, иметь способность обучаться и, самое главное, время на всё это.
Дао, выраженное словами, не есть истинное Дао.
|
|
| |
Kunka | Дата: Суббота, 12 Сентября 2015, 23:07 | Сообщение # 17 |
частый гость
Сейчас нет на сайте
| Цитата TLT ( ) ЯП нужно брать актуальный (популярный), чтобы в будущем не иметь проблемы и не юзать костыли, не писать самостоятельно порты и адаптации известных библиотек. Например, если будешь юзать C++, то для твоего движка уже будет масса самых актуальных фреймворков, которые ты просто встроишь в свой движок и не будешь возиться с написанием своей звуковой библиотеки, физической и т.д. Если будешь юзать менее популярный ЯП, то для него может не быть нужных либ, а те форки, которые уже кем-то сделаны, могут быть с кучей косяков и вообще с фичекатами, в сравнении с оригинальной либой на C/C++. Я уже не говорю про то, что в некоторых устаревших языках, которые не поддерживаются производителями, может не быть современных фич, значительно облегчающих сложные маневры и решения. Например, не сможешь работать с важным API любых современных стандартов. как по мне совет выбрать яп где можно сделать франкештейна, так себе
хочешь сделать убийцу WOW, GTA, CRysis, AC - используй FishFace
|
|
| |
TLT | Дата: Суббота, 12 Сентября 2015, 23:35 | Сообщение # 18 |
Сейчас нет на сайте
| Цитата Kunka ( ) как по мне совет выбрать яп где можно сделать франкештейна, так себе Хорошо, тогда тебе отдельный совет - бери паскаль и попробуй на нём написать движок под dx12. Человек же хочет сделать что-то типа Сталкер 2... Да, что там, бери перл и делай Сталкер. Я над тобой посмеюсь. Все над тобой посмеются. потому что эти языки неактуальны для таких целей.
Я дал дельный совет.
Если нужно выбрать ЯП, который будет хорошим вложением в твои умения, тогда бери самый популярный и самый востребованный, не трать время на хлам.
Я писал игры под ретро-платформы, я работал с ЯП Си, АСМ, Бейсик... я их не знаю толком, но задачу выполнял. Но использовать их в современных играх было бы глупостью, т.к. не вижу смысла усложнять задачу. Си, конечно, актуален - его знание вполне позволят выучить другие его вариации. Я беру готовую среду и юзаю скриптовой ЯП, который в разы эффективнее и 100% подходит для достижения цели (создание игры). Есть люди, которые что-то пытаются сделать с Бейсиком, но у них все равно получается то, что было актуально в прошлом веке, грубо говоря.
Главное достигать цель. Если у тебя цель просто возиться и экспериментировать, то пожалуйста... Вечность в твоём распоряжении.
Дао, выраженное словами, не есть истинное Дао.
|
|
| |
Kunka | Дата: Суббота, 12 Сентября 2015, 23:39 | Сообщение # 19 |
частый гость
Сейчас нет на сайте
| Цитата TLT ( ) Главное достигать цель. Если у тебя цель просто возиться и экспериментировать, то пожалуйста... Вечность в твоём распоряжении. правильнее был бы совет изучить несколько языков, где есть поддержка хотя бы Opengl и выбрать из них язык который нравится. Да и писать самому для движка все, это что то типа испытания на силу воли, который и укажет, а сможешь или ты тратить время на программирование
хочешь сделать убийцу WOW, GTA, CRysis, AC - используй FishFace
Сообщение отредактировал Kunka - Суббота, 12 Сентября 2015, 23:40 |
|
| |
Viktor-Kor | Дата: Понедельник, 14 Сентября 2015, 09:50 | Сообщение # 20 |
был не раз
Сейчас нет на сайте
| Цитата mkostoevr ( ) Ну так вот, на какой программе мне эту программу делать? Делфи? Паскаль? Или может просто в блокноте? Ах-да: и желательно использовать 3д модели формата, доступного программе Блендер. Ну и.. текстуры ДиДиЭс и звуковые файлы ОГГ это уже естесственно... Ну и какой-нибудь визуальный редактор для этой игры... (Простите за нахальство)
Еще один пионер двиготестроительной отрасли
Тут народ дает дельные советы, но я бы посоветовал "прыгать" от знаний и желаемого результата. Нужно 3D формата Blender плюс еще визуальный редактор? Так используй Blender для создания и моделей, и сцен. Научи свой будущий двиг парсить сцену .blend и вот уже проблема с редактором решена. Так,к примеру, поступили разработчики Blend4Web (webGL движок на основе Blender). Правда, фишка в том, что у них над двигом работает цельная рота, а ты, вроде как, один. Но ты можешь заглянуть к ним в исходники и посмотреть, что к чему (благо они открыты)
Насчет ЯП. Каждый язык хорош для определенной цели. Как правильно заметили, Паскаль не для DX12. Но тот же javascript хорош для web платформ. Для всего остального потребуется знание более "серьезных" языков. Придется учить с/с++
Сообщение отредактировал Viktor-Kor - Понедельник, 14 Сентября 2015, 09:53 |
|
| |
|