|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.06.2016, 21:21 | #11 |
Пользователь
Регистрация: 07.05.2016
Сообщений: 23
|
ichi, большое спасибо!
формулы и разбиение одного участка на сегменты, очень помогут! phomm, простите за глупый вопрос, а куда заходить? |
15.06.2016, 05:31 | #12 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
Так любой метод связи - в профиле есть контакты.
|
14.07.2016, 08:29 | #13 |
Пользователь
Регистрация: 07.05.2016
Сообщений: 23
|
Простенький редактор трасс готов.
во вложении: 1.Race2D\Map\Race2DMap.exe - редактор трасс. (участки трассы, старт-финиш) (технически для каждого участка трассы кроме финишного участка, необходимо указывать переход на следующий участок карты) (в редакторе возможно ставить препятствия на карту, но пока загрузить в игру вы их не сможете). 2. Race2D\Resource\Level\ 2 карты 3. Race2D\Трасса тест\ форма с примером загрузки уровня трассы в игру. (classWay описание.txt - описание класса с помощью которого вы загрузите уровень трассы в игру) Так что если есть желающие сделать гонки 2D милости прошу. Hex1986 возвращайтесь к проекту! Сам же я планирую до того как вернуть к 2D гонкам, развить тему универсального редактора карт, для "многих видов" игр. причешу то что есть (несколько слоев карты, различные размеры ячеек обьектов), добавлю кое что (обьекты размером в несколько ячеек), сделаю почитабельнее код и выложу все уже вместе с кодом. |
15.07.2016, 08:18 | #14 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
Редактор неплох. В целом всё гуд, не понравилось только что размеры файла карты неприлично большие - хранят вагон пустого пространства, в таких случаях лучше задавать параметры карты (размеры, слои, прочие данные) и все объекты просто списком с указанием их координат, либо комбинировать (мы так в своём проекте делали) - есть слой который все клеточки сохраняет (карта была тайловая), а есть слои которые только списки объектов хранят. В момент загрузки и при работе вообще можно в памяти этот список "развернуть", сделав в каждой ячейке где есть объект ссылку на него в списке, для быстрого поиска по индексам клетки.
Ну и ещё есть небольшое ощущение неудобства интерфейса - для каждой сущности комбобокс, а лучше было бы панелька с динамически перерисовываемыми элементами (нарисованными картинками для визуальности и подписями для информации, если надо), при переключении слоя, и слои сделать группой тулбатонов, в один момент времени в котором включена(утоплена) только одна кнопка, и они переключаются по клику (см. редактор героев3 для примера). Ну а идеи насчет универсального редактора не новы, посмотрите Tiled - очень известный проект для озвученных целей, городить велосипед смысла немного, ведь даже разработчики игровых движков встраивают поддержку карт из таких редакторов (см Castle Engine, например). Ещё есть такое замечание (не касательно редактора, а вообще), возможно, Вы не в курсе, но нельзя перекомпилировать программу с использованием dcu-модулей в другой версии дельфи (dcu бинарно не совместимы), и даже поправить имя файла, захардкоденое у Вас в проверяльщике (разумнее было сделать диалог выбора файлов, думаю), не получится, перекомпиляция не пойдёт. |
16.07.2016, 10:05 | #15 |
Пользователь
Регистрация: 07.05.2016
Сообщений: 23
|
про dcu знал и забыл, не даром в установщиках типа jedi, есть разделение
на версию delphi. Да и не все пишут на delphi, лучшее dll сделать. про Tiled спасибо, не знал нужно будет повнимательнее посмотреть хороших идей (например в интерфейсе) подчерпнуть. интерфейс действительно неудобный, просто хотел все таки как можно быстрее выложить, вдруг кто тот гонки начнет делать. а так надо как в 3d max и других панели и т.д. Или тот же Tiled внимательно посмотреть. Единственное что в Tiled засмущало что все обьекты это тайлы, включая кактус который на 6 тайлов (скорее всего это "6 CellID") поделен был. такая вещь подходит только для неменяющегося фона, а в общем случае лучше делать "целиковые" (1 CellID) обьекты занимающие несколько ячеек. но это я только предположил, при детальном разбирательстве может выяснится что в Tiled этот момент по другому сделан. Вот тут то и может проявится "+" своего редактора сделаешь так как тебе надо. Но и насчет универсального я неправильно все таки выразился. Лучше сказать заготовки для универсального редактора (список связанных между собой классов или фраймворк), потому что все случаи взаимодействие между слоями (например деревья (слой препятствия) можно поставить по какому то хитрому алгаритму в отдалении от дороги (слой трасса) это просто ка пример) в коде это легко сделать а вынести все возможные такие случаи за код невозможно. phomm, но вот то что Вы мне подсказали, что бы в ячеках содержать ссылки на обьекты, это гениально просто. и не только для редактора карт. Скорее всего это можно будет применить и к игре и тогда делать игры с ОГРОМНЫМ миром, с ОГРОМНЫМ количеством обьектов и рисоваться (графика) и взаимодействие между обьектами (столкновение, механика) будет быстрым, и по сети не все передавать можно, (а только определеные квадраты от игрока) и значит здравствую MMORG. Это то что я давно искал. Спасибо Вам phomm! |
18.07.2016, 09:24 | #16 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Я использую Tiled. Правда, мне достаточно загрузить лист с тайлами (TileSet) в Tiled, нарисовать тайлами карту и экспортировать карту в CVS. В этом файле карта в виде прямоугольной матрицы из ID-шников тайлов. Далее, в Unity я открываю этот CVS файл. У меня заранее подготовлены объекты с нужным поведением (с скриптами и коллайдерами или без них), которые я расставляю по этому CVS файлу во вложенном цикле.
|
18.07.2016, 11:38 | #17 |
Пользователь
Регистрация: 07.05.2016
Сообщений: 23
|
Tiled - очень, очень хорошая вещь спору нет.
Умение добиться результата быстрее используя наработки других людей это очень хорошо. Но не пройдя этот путь сам (например не создав сам свой редактор), можно упустить и важный опыт который можно в будущем наверняка пригодиться. При этом допустим человек знает как приблизительно сделать, что то. Но если бы он начал что то делать сам, то скорее всего мог столкнуться, с определенными трудностями, разрешив которые он приобрел бы определеный опыт (может быть новый взгляд на программирование в целом). Или после того как он сделал что то сам, он бы увидел, новые возможности (например ему пришла бы в голову идея еще более универсального редактора). Реализовав новые возможности, он бы еще приобрел опыт и мог увидеть еще более универсальное решение, и т.д. И еще: 1.в Tiled нет специфической проверки между слоями (что то типа на этот участок нельзя поставить этот обьект), все делается на глаз. в простых играх это еще приемлемо, но ведь наверняка в сложных играх этого будет очень не хватать. 2. импотировать Tiled в свою игру (что бы прямо в игре запускался) (конечно без помощи ShellExecute), да еще в стилистике своей игры то-же нельзя. 3. если делаешь игру в которой режим редактирования встроен в саму игру (типа sims) все равно придется знать как разрабатывать свой редактор. 4. в режиме тестирования возможно то-же был удобен свой редактор, с сохранением тестовой ситуационной карты в базу и т.д. и еще сделать редактор игры в большинстве случаев легче чем сделать саму игру. но я не спорю, есть, есть плюсы уже готовыми разработками воспользоваться, по крайней мере о них надо знать, хотя бы для того что бы подчерпнуть от них идеи. может быть в этом только одна беда, увидев как сделали другие можно начать мыслить стереотипно и не увидеть других лучших возможностей. |
18.07.2016, 12:33 | #18 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Да, я абсолютно согласен, что уметь написать свой редактор - очень важно почти для любого программиста игр.
Для тех кто использует C# и Unity, здесь книга и видео курс, как сделать свой редактор уровней на примере 2D платформера: Последний раз редактировалось 8Observer8; 18.07.2016 в 12:40. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
2D движок | Sergeu | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 19 | 01.11.2009 22:47 |
Движок | Alex2009 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 3 | 25.08.2009 18:18 |
Помогитеу становить движок на сайт. Движок Joomla | acmilan | WordPress и другие CMS | 2 | 01.04.2009 11:26 |
Набор команды для создания гонок. | mflat | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 0 | 17.02.2009 21:10 |
Помогите в создании Гонок | ChukCha | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 21 | 25.07.2008 09:39 |