Идеальный конструктор - конструктор который ты можешь делать сам. Ты можешь дописывать любые моменты в этом конструкторе, редактировать его. Идеальный конструктор будет иметь структуры данных. На идеальном конструкторе можно будет сделать игру любого жанра без особых трудностей. В идеальном конструкторе должен быть максимально лёгкий ЯП - ведь это конструктор, не правда-ли?
WhoAmI, это получается, что то низкоуровневое и при этом простое. Это слишком плохо сочетается.
ЦитатаWhoAmI ()
Игры на идеальном конструкторе не должны быть интерпретируемые, они должны быть исполняемыми, а сам конструктор должен портироваться под все основные платформы. Игры на идеальном конструкторе максимально быстрыми. Исходный код конструктора должен быть рациональным и максимально быстрым. Идеальный конструктор должен поддерживать 3D функционал. В идеальном конструкторе должен быть физический движок. В идеальном конструкторе должен быть идеальный звуковой движок. В идеальном конструкторе всё должно делаться предельно быстро.
Я могу написать компилятор, все движки, но на это уйдет слишком много времени. Меня больше интересует интерфейс, если конструктор будет действительно удобным и популярным, то уже будет смысл писать качественную начинку.
1) Сам графический апи рисует примитивы(полигоны). Модели приходится самому открывать, разжимать, потом отрисовать полигоны и если там есть анимация то ещё и самому все двигать. Модели создаютmя в 3д максе(блендере), текстуры в фотошопе(гимпе) (бывают процедурные текстуры), для уровней пишешь свой редактор. 2)директ содержит апи для ввода, звука, интернета... В общем полностью все для игр. Хорошая справка, поддержка. огл только для графики, новичкам труднее разобраться. Здесь можно спорить без конечно, на самом деле оба хорошо работают, и особо заморачиватmся не стоит, попробуй сам. 3)Движок читает файл карты и делает как там написано. Ты либо берешь движок с уже готовыми картами и их загрузкой или придумываешь свой формат и редактор к нему. 4)все зависит от того, что ты хочешь. 5)виндовс, линукс, мак ос. При желании можно и другие оси, но несколько сложней. 6)хахахахахаха... Ну да как то так, страус труп обязательно к концу. ну и по патернам и алгоритмам книги, а то щас много программистов решающих задачи через костыли... онлайн? ну как минимум изучить работу с сетью или готовую библиотеку. Напиши по конкретнее, я смогу больше написать, а то тема то большая.
JackNazaryan, ну тут надо осторожно. Очень легко можно перегрузить интерфейс и тогда просто никто пользоваться не будет... Пока я работаю с теорией, я подхожу к вопросу очень серьёзно, я должен быть уверенным, что у меня будет желание, время, знания.
Epetuk, ну игровая логика - очень большой раздел и часть логики, которая сохраняется на протяжении всей игры можно написать на с++ допустим в играх злые птицы или марио можно все реализовать на плюсах, ведь на каждом уровне есть рогатка, ничего кроме положения не меняется. Это можно назвать глобальной логикой. Но если есть логика работающая только в ограниченных местах, то есть она локальна, и своя для каждого объекта, и объектов много, то без скриптов это больше похоже на мазохизм.
Sanoraag, мне лично проще сначала освоиться здесь. Только после прочтения доков по апи я могу почитать что то другое. Что же касается статьи то пока она самая хорошая из того что есть, хотя и её можно немного причесать. Ну что? я жду ответа тс, что он решил. Я тут конечно понаписал, может зря... Но что есть, то есть. Самый лучший источник знаний по sfml я указал выше, и он на английском.
Сообщение отредактировал Fimoks - Понедельник, 17 Февраля 2014, 11:57
backToHome, я перебрал очень много движков и у всех искал качественный цикл статей. Это очень большая редкость. Даже под вин апи полного цикла нет, а сайт майкрософ настолько сложный, что первое время нереально что то найти... А вот движки написанные под скрипты всегда разжевываются нормально. Поэтому в с++ очень часто приходится учить по примерам, капаться в хедерах(.h), И переводить английскую справку по апи. Когда я начинал учить движки я брался за все что попадалось, до тех пор пока не встречал что то, что понять не мог. Вот например дохожу до странного набора команд для работы с Billboard, я неделю с утра до вечера пытался нагуглить что такое и с чем его едят. В итоге оказалось что это просто спрайт... Первый движок будет очень тяжел, а потом ты сможешь понимать движки с самым запутанным апи... Тут важна теория, практика, знание игровых и общих патернов. Сначала будет сложно, а потом сможешь писать быстрый и качественный код. В общем постараюсь выразить все сказанное: С++ долгое изучение тебе очень сложно будут даваться простые вещи(авторы проектов не рассчитывают на новичков ), но в перспективе полная свобода, развитие, качество, скорость. "Более простой язык" проекты под него стараются делать проще, но перспективы несколько меньше, все зависит от выбора языка. Если ты знаешь недостатки шарпа и луа, то думаю хорошо понимаешь о чем я.
Сообщение отредактировал Fimoks - Понедельник, 17 Февраля 2014, 08:06
Мне грустно, что я учил С++ и PHP, а не C# и Python, но как-то забрасывать желания нет.
Лично для меня с# очередная попытка мелкомягких удержать людей от пингвина. Так блендер, гимп кодеблок и инскейп там есть, и меня это манит перейти, но популярность и сложность поддержки винды останавливает. Так что я хочу поддерживать все платформы, пока люди не узнают, что на пингвине можно и поиграть в лефт 4 дед и нормально работать
Отпишись как статья. Если тебе нравится шарп то может стоит выучить? Просто он очень похож на плюсы, проблем переучится меньше чем мучить себя.
Сообщение отредактировал Fimoks - Понедельник, 17 Февраля 2014, 05:07
backToHome, это не так сложно, как кажется. Я не вижу смысла в изучение с++ если он используется для скриптования, тут лучше lua. Если ты хочешь с++ то у него высокий порог вхождения и тебе придется многое учить. И это проблема не движков и редакторов, а языка. Вот посмотри и оцени, это не совсем для новичков. Но ты можешь оценить насколько хорошо ты сможешь вникнуть в код. Если тебе не понятно я могу разжевать что откуда и ты поймешь, что проблема в с++
Сообщение отредактировал Fimoks - Понедельник, 17 Февраля 2014, 03:36
Sanoraag, ну что для него sfml лучше я не спорю. Одно то что там ооп дает преимущества в изучение и освоение. Что касается загрузки в видео память мне тогда это не помешало в изучение. backToHome, ну посмотрел я ethanon engine и в общем изучить не сложно если знаешь английский, но вот вопрос, что для тебя важней обучение с++ или написание игры? Просто судя по твоим словам, ты ещё мало знаешь, а после того как ты поработаешь с фреймворками то сможешь собрать сам игровые объекты (текстура + массив кодом разбиваем на таелы текстуру и заполняем экран по массиву и вот готова тайлмапа) а после такого опыта можно взять и написать движок с нуля, человек способный писать движки естественно лучше ориентируется в готовых. А что уж там говорить про востребованность таких людей. Правда они от сюда уходят за комерческой выгодой.
Все довольно просто, сначала повозишься, напишешь нужные обьекты вроде тайлов, спрайтов, партиклов. Потом менеджер, это пожалуй самое трудное... Затем придумать свой формат карт (допустим первая переменная это ид спрайта дальше его место положения и свойства и все это повторяется) Ну и допилить для формата редактор. На простенький тайловый редактор уйдет несколько часов(все зависит от скорости печати) Я не знаю, что может быть проще. Попробуй SFML.
ЦитатаbackToHome ()
То есть я могу и кодом расставить спрайты, источники освещения и все прочее, но это сложно, трудно, долго и однообразно.
Воу воу полегче, никто так не делает. Можешь конечно и картинки тоже кодом вбивать, но на самом деле это извращения. Помни, если тебе скучно, значит либо программировать не для тебя, либо ты делаешь что то не так.)
Мне вообще есть из чего выбирать или я безнадежен?
Та же самая скира конструкт это очень стремный быдлокод, даже авторы решили что переписать с нуля проще... Не хочу тебя расстраивать, но проще иногда взять и написать все самому...
В том и заключается проблема выбора готовых движков, что всегда есть недостатки. В вопросе есть половина ответов. Насчет Torque 3D могу сказать точно, что хороший сетевой код, редакторы. Но код иногда грязный и с версиями менялось апи. Скрипт не фонтан, но работать можно. В общем познакомится стоит хотя изучение трудновато. Я нормально так не работал с ним, так что сказать более не могу. Не знаю что посоветовать, но автора я очень понимаю и желаю успеха.
Alifana, первое что тебе нужно - это практика, она закрепит твои знания, в конце пути ты сможешь писать код думая только о решаемой задаче а не о том как это записать. Тут хорошо начать с стандартной библиотеки ввода - вывода. С начала простые математические задачи. Позже можно взяться например за обработку ini или bat файлов (то есть простое считывание данных и работа с ними). Когда способностей хватает возьми какой нибудь самый простой фреймворк. Многие берутся за WIN32 но сразу осилить работу с ним сложно, конечно можно попробовать, но я например не уверен в нужности изучения этого апи, это мое личное мнение и тебе придется самому вникать где больше перспектив. Я например начал с sdl, после я изучал разные апи для разных целей. Параллельно изучай алгоритмы и паттерны, но не зацикливайся на них, они только для развития навыков решения задач.
cnstntn, как в рекламе никогда не бывает. Все зависит от уровня знаний, например с высоты знания ооп любой конструктор кажется простым. Допустим массив, когда я изучал CC я не знал что это, а как человек сможет понять это без изучения? Если не будет возможности работать с массивами то упадет функционал, а если он есть то как организовать работу с ним так, чтоб пользователь сразу все понял.
Добавлено (29.01.2014, 17:29) --------------------------------------------- Xakep, в смысле ландшафт?
ЦитатаAlexRabbit ()
И каким образом Вы это планируете реализовывать?
AlexRabbit, каждая часть будет максимально не зависимым редактором, все это должно быть в едином стиле, то есть код может быть написан под любые новые типы данных, все редакторы данных в общем должны быть очень похожи по строению. Полностью я не могу все выразить, вот и хочу как то найти информацию
TLT, вот как раз таки про конструкторы возможности которых не уступают движкам я и говорю. Вот как раз таки о разработке такой системы которая могла бы быть использована и в 2d, и в 3d, и для софта, и под разные системы и платформы так чтоб в систему можно было запилить любые возможности и они казались как влитыми. При этом все это должно быть понятно любому школьнику и идеально подходить профессиональному геймдизайнеру.
Danteo122, у меня нет слов... Зачем это? к чему это? речь идет о мультижанровом конструкторе, а не о редакторе карт для платформера. Xakep, программировать сейчас я точно не буду. По крайней мере месяц уйдет на проектировку, разработку интерфейса, архитектуры и тд. Семь раз отмерь - один отрежь. А потом уже я попробую что то сделать. Но я ничего не обещаю... неровные поверхности?
Самая любимый Construct Classic, знаю hiasm, немного скретч, пробовал Google Blockly и пробовал гамак, ну и чисто в теории разбирал принципы Microsoft Visual Programming Language. Ну ещё там разные конструкторы, в которых программирование назвать им нельзя...
AlexRabbit, вот как раз таки "конструктор чего то" я бы не парился. А для меня важно сделать так, что бы легко можно было допилить все новые потребности геймдева.