Страница 2 из 3

Re: 2D движок 2DWCEngine 0.2

Добавлено: 23 апр 2011, 03:42
warchief
Уроки будут под твой движок или более общего назначения?

И когда релиз-то ?
Да под движок, так как не вижу смысла объяснять как выводить тексты, рисовать изображения и т.д. Иначе бы пришлось уделить много внимания написанию своего движка, а это не нужно. Но исходники движка открыты и будет документация, так что любой сможет переписать под себя (пока это можно, до версии 0,5 она является публичной собственностью (не помню точно как это называется), то есть любой может использовать ее в любых целях, без всяких ограничений и требований.

На счет релиза... Версия 0,3 будет вообщем-то готовой для использования в проектах. В 0,4 я займусь рефакторингом и документацией, так что релизной можно считать версию 0,5... Дальше движок будет обвешиваться разнообразными фичами

>>Следующий релиз, думаю, стоит будет объявить на главной!
[-o< .

Re: 2D движок 2DWCEngine 0.2

Добавлено: 23 апр 2011, 04:10
warchief
Больше для себя.. Цели на будущие релизы

0.3
- сделать гуи
- начать блок статей о создании рогалика
- дать базовые операции по инициализации графического окна

0.4
- рефакторинг кода
- документация

0.5
- дать возможность пользователю выбирать рендер (либо чистый SDL, либо OpenGL)
- ttf шрифты.

Re: 2D движок 2DWCEngine 0.2

Добавлено: 23 апр 2011, 14:37
warchief
Вот подумал и решил здесь отписываться о ходе работы, а не только при релизе. буду давать отчет о проделанной работе :mrgreen:

Сегодня мне было некогда особо заниматься двигом. Потом провозился с SDL 1.3, думал переписывать движок под него, чтобы в ногу со временем, потом обнаружил что еще нет толковой документацией и плюнул на это. Но кое-что я сделал:
- переделал инициализацию движка, теперь пользователь может задавать размер экрана, полноэкранность и заголовок. Одну треть 0.3 я выполнил :D
- кроме того, вспомнил об одной вещи которую хотел сделать очень давно, да забыл... Вообщем это сложно описать, движок теперь стал более абстрактным и более свободным в использовании. Покажу этот момент в обучалке. Эм, теперь cFramework можно наследовать много раз, задавая каждому объекту свое поведение.
- мелкие правки кода. А может и не мелкие, архитектура движка тоже была немного изменена.

В данный момент движок состоит из 7877 строк чистого кода или 13492 строк с кодом, коментариями и пустымии строками. Неплохо.


С кодом все.
P.S. под пользователем в данной теме считаеся программист который использует движок.

Теперь на счет обучалки. Набросал оболочку документации. Обучалка будет распространятся двумя способами, как официальное руководство с движком в виде htm-страниц. И на этом сайте в wiki.
ну и еще нарисовал стартовое окно (ниже). Извините за такой мелкий размер, но это оригинальный размер, сделано таким мелким чтобы на экране игры был эффект олдскульности (большие пиксели, как в играх 80-90 годов :) ).

Ну а теперь вопрос, а то я в раздумьях, какой же делать в обучающей графику - ascii или тайлы? Просто мне хочется и то и то.... Я пока думаю что буду делать так - сначала ASCII (но не чистый а с некоторой примесью графики), а потом несколько уроков по переносу на тайлы. Но тут еще хочу спросить вот что, я задумал в ascii инвентарь сделать тайловым. То есть в игре все предметы как символы, но при заходе в инвентарь игрок видит уже тайлы этих вещей - думаю это будет удобно. Но как вы к такому споосбу относитесь?

Re: 2D движок 2DWCEngine 0.2

Добавлено: 23 апр 2011, 18:07
Maelstrom
какой же делать в обучающей графику - ascii или тайлы?
Делай тайлы настраиваемого размера - тогда и аскии через них легко можно будет сделать.

Re: 2D движок 2DWCEngine 0.2

Добавлено: 23 апр 2011, 19:09
alexbard
warchief писал(а):Да под движок, так как не вижу смысла объяснять как выводить тексты, рисовать изображения и т.д.
Ну, думаю, вопросы вывода графики/текста должен каждый программист решить самостоятельно :)
Мне, например, было бы интересно читать не туториал, мм скажем о создании нового монстра, а скорее взгляд программиста на реализацию каких-нибудь узких мест в своем проекте. Всегда можно подчеркнуть что-то важное из подобного рода информации )
Но как я понимаю, у тебя будет именно документация о работе с движком?
warchief писал(а):(пока это можно, до версии 0,5 она является публичной собственностью (не помню точно как это называется), то есть любой может использовать ее в любых целях, без всяких ограничений и требований.
GNU GPL ?

Re: 2D движок 2DWCEngine 0.2

Добавлено: 23 апр 2011, 20:18
kipar
alexbard писал(а):
warchief писал(а):(пока это можно, до версии 0,5 она является публичной собственностью (не помню точно как это называется), то есть любой может использовать ее в любых целях, без всяких ограничений и требований.
GNU GPL ?
Скорее Public Domain. GPL накладывает довольно строгие ограничения на использование ("если используешь, то будь добр свой код тоже публиковать под той же лицензией").

По теме: Не рано ли делать туториал до завершения самого движка? Хотя... тебе виднее. В крайнем случае если не доделаешь движок, будет профит в виде обучалки.

Re: 2D движок 2DWCEngine 0.2

Добавлено: 23 апр 2011, 20:48
Maelstrom
пока это можно, до версии 0,5 она является публичной собственностью

Re: 2D движок 2DWCEngine 0.2

Добавлено: 24 апр 2011, 00:17
warchief
Ну, думаю, вопросы вывода графики/текста должен каждый программист решить самостоятельно
Мне, например, было бы интересно читать не туториал, мм скажем о создании нового монстра, а скорее взгляд программиста на реализацию каких-нибудь узких мест в своем проекте. Всегда можно подчеркнуть что-то важное из подобного рода информации )
Но как я понимаю, у тебя будет именно документация о работе с движком?
Ну, здесь посмотрим...
И это не будет документация, это будет официальный пример... Движку будет уделено мало внимания.
Ладно я подумаю.
Не рано ли делать туториал до завершения самого движка?
В данный момент движок практически имеет все что нужно для создания рогалика, так что не рано. И потом я хочу посмотреть, хватит ли мне функционала и удобства, на практике.

Туториал я не пишу с нуля... За основу взят http://users.freebasic-portal.de/rdc/tutorials.html
Это так сказать ответ, на вопросы выше...

Re: 2D движок 2DWCEngine 0.2

Добавлено: 25 апр 2011, 02:30
warchief
Результаты за вчера.

Поставил локальное svn хранилище, жутко доволен, теперь не будет головной боли с востановлением кода в случае чего. И почему я раньше не догадался так делать?

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

Число строк кода - код (всего строк)
движок - 7893 (13511)
игра - 96 (129)

Re: 2D движок 2DWCEngine 0.2

Добавлено: 25 апр 2011, 03:09
Jesus05
warchief писал(а):Результаты за вчера.

Поставил локальное svn хранилище, жутко доволен, теперь не будет головной боли с востановлением кода в случае чего. И почему я раньше не догадался так делать?
...
под виндой работаешь?
TortoiseSVN тоже поставил?
если нет - очень советую.

Re: 2D движок 2DWCEngine 0.2

Добавлено: 25 апр 2011, 03:14
warchief
TortoiseSVN тоже поставил?
Так с помощью него и поставил

Re: 2D движок 2DWCEngine 0.2

Добавлено: 25 апр 2011, 03:29
Jesus05
warchief писал(а):
TortoiseSVN тоже поставил?
Так с помощью него и поставил
ясно :) я для себя (для личного пользования) выбрал VisualSVN как сервак, а TortoiseSVN чисто как клиент.
но честно больших преимуществ отдельный сервер не дает :) просто мне так удобнее.

Re: 2D движок 2DWCEngine 0.2

Добавлено: 25 апр 2011, 15:44
warchief
Нда, провозился с guichan, собрал, запустил а потом понял что она мне не нравится. Точнее мне не нравится ее обработка событий... Ну вот что за прикол все события бросать в одну кучу и бедному программисту придется ручками проверять какое событие для какого виджета было вызвано (то есть перебирать и все события и для каждого события перебирать все виджеты в надежде что какой-нибудь как-нибудь да среагирует).

Ну конечно нельзя сказать что зря потратил время... Мой движок умудрился удивить даже меня своими фичами. Ведь сначала я хотел гуи пихать прямо в движок, но теперь знаю что это не нужно. гуи можно легко написать как дополнительную библиотеку и просто подключать ее по мере надобности. И теперь я понял что именно так и нужно его развивать, есть базовый элемент, в нем минимум кода (только запуск, и выход, ну и еще какие-нибудь критические моменты и наверно пока работа с дисплеем) а весь остальной функционал распространяется в виде отдельных либ. Это удобно, подключать только то что нужно (зачем разработчику ascii рогалика спрайты, анимация, звуки, сеть, еще какие прибамбасы?. вот и я теперь знаю что незачем, и пусть их подключают только те кому они нужны). Да и такая архитектура поможет мне дальше развивать код, маленькие кусочки легче писать чем одну большую кучу. Ну и профи-пользователям тоже профит, ведь они смогут переписать любой модуль так как им нужней и знать что все равно оно будет нормально работать.

Хм, так как из-за guichan я потратил много времени и гуи сегодня не сделал, то статью выложу позже.

Re: 2D движок 2DWCEngine 0.2

Добавлено: 26 апр 2011, 11:57
warchief
Все, написал либу для работы с гуи, пока конечно только набросок, но уже работает. Но есть один минус - гуи перехватывает события, придется дальше ковырять. По этой причине урок сегодня выложить не получается. Ну думаю хоть завтра получится.

Сегодня с кодом так - (код, в скобках всего строк):
2DWCEngine (база движка) - 7890 (13523)
GuiEngine (движок гуи) - 2381 (3230)
dungeonsofevil (обучалка) - 94 (126)

Вообще ни один проект меня так не захватывал, так что шанс сделать что-то работоспособное есть.

Подводя итоги, осталось допилить библиотеку гуи и верия 0,3 готова.

А и еще вот что, думаю нужно сменить название движка. Сейчас думаю между двумя вариантами D_Sapphire или 2D_Аquamarine. Кому какой больше нравится?

Re: 2D движок 2DWCEngine 0.2

Добавлено: 26 апр 2011, 13:16
Arlekin V
Выбирай :)