Проекты
GameDev.ru / Проекты / Форум / Holly (движок)

Holly (движок)

Страницы: 1 2 Следующая »
AlprogМодераторwww30 июня 20139:15#0
Название: Holly
Движок для 2D игр.

Начал писать движок. Он делается одновременно и по работе и для себя (пока целиком из дома пишется).
Центральный элемент движка — это редактор анимаций со слоями и таймлайном (на манер Flash'а).
Работать редактор будет только под Windows, но игры запускаться должны будут и на мобилках.

Технические средства: C#, WPF, Xamarin, SharpDX, OpenTK, Protobuf.net

Буду вести девблог и выкладывать *.exe по мере создания, а пока только скриншот:

+ Показать

AlprogМодераторwww30 июня 201310:04#1
Расскажу немного о том, откуда ноги растут у всего этого.

Решение писать свой движок было принято, когда я поделал какое-то время (не так уж мало) 2D игры на Unity3D.
После удобнейшего движка, который был на прошлой работе, это просто не воспринимается. Нехватает редактора анимаций (нормального, то есть с таймлайном и фритрансформом). А ещё нужна отрисовка в порядке иерархии и человеческая работа с ресурсами. Ну, а если к тому же IDE перестанет вылетать и появится возможность переписать какую-то часть на любом уровне, вплоть до самого низкого, то вообще шикарно будет.

Но обзор существующих решений помимо юнити показал печальные результаты. Поэтому мне просто ничего не оставалось, как начать делать своё. Благо, я совершенно точно представляю, что нужно сделать (я пользовался таким движком не один год, да и внутрь тоже лазил не раз).

Правда, для большинства людей всё вышеупомянутое вовсе не аргумент для написания своего велосипеда. Ведь вся индустрия колется, плачет, но продолжает использовать юнити и ей подобных. И честно говоря, мне сложно объяснить целесообразность такой затеи. Тут либо понимаешь её в долгосрочной перспективе, либо нет. Приведу, разве что, для иллюстрации вот такой отрывок из одного подкаста:

+ Показать

Вот. А называется движок Holly потому, что я когда-то давно заметил, что никто не называет движки женскими именами. И решил, что свой движок обязательно назову.
Из женских имён мне нравятся Ирландские и Английские, а компания, в которой я сейчас работаю, зовётся HolyTap, так что по созвучию выбрал Holly. Помимо женского имени это также растение такое, по-русски — остролист. Его на иконку пока поставил.

AlprogМодераторwww30 июня 201310:24#2
Пока пишу dockable-окошки. В какой-то момент была мысль использовать AvalonDock, но уж было много написано, да и не хочется ограничиваться его функционалом. Я, например, хочу, чтобы можно было документ перетащить на второй монитор и чтобы это было полностью отдельное окно. То есть когда окно редактора на одном мониторе перекрывает браузер, а я отдаю фокус окну на другом мониторе, браузер не попадал под низ, как это бывает во всех IDE (ужасно бесит, на самом деле).

Намучался я с ними уже прилично. WPF это вам не Windows Forms. Работаю с ним первый раз. Он нравится, но таит много сюрпризов. Особенно, с Drag and Drop'ом. Как результат, структура вложенностей классов менялась уже не весть сколько раз и этот процесс продолжается. И с сохранением всё не слава богу оказалось. До последнего не хотел использовать Protobuf (потому что в .net версии нет текстового представления и надо писать унылые ProtoInclude), но допиливание остальных вариантов превратилось в ещё больший оверхед.

VisheraПостоялецwww30 июня 201311:08#3
Alprog
> После удобнейшего движка, который был на прошлой работе
С этого момента поподробнее, пожалуйста. Как зовется, почему вы решили писать свой?
AlprogМодераторwww30 июня 201311:43#4
StepEver
> И это касается любых сторонних платформ во всех областях, кстати. :\
+1 Но кто-то говорил (кажется, это был Джоэл Спольски), что переписывать стоит только то, что является ключевым для вашего дела.
Так, например, систему контроля переписывать не стоит, а вот движок — вполне :)

> А что из заявленного в первом посте уже есть?
Пока только dockable-окошки. Ну, то есть можно любую вкладку потащить, подвести к краю какой-нибудь области и запинить её там.
Есть document-вкладки, которые группируются только в области для документов (основная), а есть панели, которые тоже можно как угодно располагать по бокам, делить и группировать по несколько (тоже появятся свои табы, только внизу). Также любую панель, если очень хочется, можно запихать в зону документов в качестве вкладки. Ещё можно панель полностью вытащить и получится FloatWindow. Собственно, всё как в Visual Studio 2012 (дизайн тоже оттуда копировал, из тёмной темы).

> Это уже работает?
Частично. Это бурлящий котлован классов, функционал постоянно меняется и/или отваливается, но постепенно ситуация устаканивается :)

> Сколько времени на проект потрачено и сколько сделано?
Неделя примерно. Но не по 8 часов, а по больше. Знаю, результат на неделю работы не тянет, но пока так.

> Ничё не понял... а можно с картинками?

+ Показать

AlprogМодераторwww30 июня 201312:05#5
Vishera
> С этого момента поподробнее, пожалуйста. Как зовется, почему вы решили писать свой?
Ой, ну на прошлой работе целых три движка было.

1. GameEdtior. На Delphi. Я с ним почти не работал, только чуть-чуть попользовался, когда портировал игру на нём на Nintendo DS.
    Насколько я понимаю, это был просто набор спонтанных тулзов для конкретных игр, которые потом эволционировали в универсальный редактор.

2. HotSource. Движок на С++, а игровая логика полностью на Lua. Вот это уже был крутейший движок. Я пришёл в компанию, когда его только-только начали использовать.
    Тогда делали игру под Wii. Позже Wii перестали поддерживать, но зато вкрутили мобилки и линуксы всякие. Постепенно добавляли всякие крутые штуки в него (маски,
    рендер в текстуру, видео, 3D, кости и всякое такое прочее). Кое-что я вкручивал.

3. Citrus. На C#. Писался исключительно из-за юридических вопросов с HotSource'ом. Заодно некоторые концепты пересмотрели.
    С ним я работал не так много, но зато воочию убедился, что на C# можно написать хороший двиг. Буду делать наподобие :)

tirinoxПостоялецwww30 июня 201312:44#6
Alprog
> ужасно бесит, на самом деле
Полностью согласен =)
jaguardУчастникwww30 июня 201314:11#7
Где же ты раньше был? Я последний месяц писал свой велосипед - именно с таймлайном и фри трансформом :). Получилось пока весьма велосипедно, как это у меня принято (нет времени писать красиво и универсально - пишем чтобы работало), но теперь уж от своего решения ни за что не откажусь - свои велосипеды самые велосипедные. Ну и конечно, никаких богомерзких ЛУА и додиез - только с++, только хардкор.
ЗЫ: Я как-то тоже не понимаю этого восторга по поводу Unity. Ну если он такой крутой - так значит должен ускорять время разработки? Тогда где полноценные крутые конкурентные игры, написанные на нем за месяц?
MATovУчастникwww30 июня 201317:14#8
подписался :)
YupyПостоялецwww1 июля 20138:12#9
Делай опен сорс)
AlprogМодераторwww7 июля 20134:26#10
Опачки, требование инвестора делать на юнити.
Причём скоро я пощупаю unity2d. Именно два дэ.
Написание движка под очень большим вопросом.
RenGDПостоялецwww7 июля 20139:00#11
Alprog
> Написание движка под очень большим вопросом.
  Говори инвестору что ты делаешь на юнити, а сам
пиши свой двиг, пофиг на проект.
КрысеечникПользовательwww7 июля 20139:11#12
Alprog
Посмотри на список поддерживаемых юнитями платформ. Сделанный самостоятельно и в одиночку движок такого не позволит и близко.

> Нехватает редактора анимаций
Так, может, не игродвижок, а удобный редактор анимаций тебе сделать? С рассчётом, чтобы сделанные анимации можно было удобно вставлять в юнити.

GrettirУдалёнwww7 июля 20139:36#13
Alprog
> А называется движок Holly потому, что я когда-то давно заметил, что никто не
> называет движки женскими именами. И решил, что свой движок обязательно назову.
Alprog
> Написание движка под очень большим вопросом
вот почему женскими именами только ураганы называют =)
Как корабль назовешь...
andrey.mesheryakovПостоялецwww7 июля 201322:03#14
Alprog
> Причём скоро я пощупаю unity2d. Именно два дэ.
Хм, а можно линк на то, что скоро выйдет юнити 2д?
Страницы: 1 2 Следующая »

/ Форум / Проекты / Утилиты

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

Тема закрыта.

2001—2018 © GameDev.ru — Разработка игр