твою ссылку я привел как свою В САМОМ НАЧАЛЕ и "разбиваешь на сетку" ТОЖЕ ОБСУДИЛ в первом посте Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Сообщение отредактировал KamiRonin - Суббота, 14 Декабря 2013, 01:46
Привет всем! для проекта возникла задача - реализовать поиск пути полностью в 2D среде. на третий день поисков ФРИ контента стало понятно что таковых нет и нужно писать самому!
конечно первым была найдена и скачана фри версия A*Pathfinding Project найден просто замечательный тутор от Rocket Studios есть платные плагины (старые довольно), например Waypoints for 2D Pathfinding или список в ассет сторе куча идей философов от программирования на Хабре. и вот наконец нашел на C# пример реализации А* алгоритма для плоского пространства.. НО попробуйте его в Unity прикрутить! А на спрайтах!!? А без навмеша!! В общем оказалось - хочешь 2D пиши свое!! И основная задача свелась к построению поля логических ячеек внутри предлагаемых обстоятельств имеющегося условного пространства!
Тут в ход пошли алгоритмы "заливки многоугольника" и алгоритм принадлежности точки многоугольнику и прочая и прочая. А ведь хотелось бы универсальности!! Не писать каждый раз поле вручную, а создавать его как в том же A*Pathfnd Proj нажав на одну кнопку при конструировании уровня. Кстати на А*Pf P почти получилось его прикрутить к чистому 2D (не делать ортогональную камеру и полноценные 3D декорации в виде аля 2D, а настоящие спрайты повсюду!)!! Но получилось тааааак муторно и потребовал установки такого количества скриптов и утилит что я просто сразу его выгрузил!!! В ссылке от RocketStudios автор (умница) переписал основной скрипт A*Pf Pr под свое 2D и таким способом выкрутился.. но когда качаешь его простенькую игрушку - 98% контента занимает патфайндер скрипты и проч!
итог. была создана реализация на EdgeCollider2D, спрайтах и Raycast2D системе, которая строит поле из любого замкнутого пространства сканируя его лучами и записывая клетки. Получилось конечно. Но ее еще облизывать и облизывать (строит поле с небольшим нахлестом на стены в НЕКОТОРЫХ местах).
В общем ВОПРОС: у кого что есть на примете про чистый 2D поиск пути?! алгоритмы, реализации, готовые фри пакеты?? Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Сообщение отредактировал KamiRonin - Пятница, 13 Декабря 2013, 21:41
вот хорошее обоснованное описание. на этом же ресурсе несколько статей и о выборе редактора и о том, как с работой на этих редакторах. имхо больше вакансий на максе и майя. а суммы платят за модели с определенными параметрами или анимирование, а не за выбор редактора. Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
ну.. грубо - это "разбор строки" - при котором вычленяются куски по какой то системе. это оч. грубо. в твоем случае простейший парсинг - это разбить длинную строку на куски и резать там, где ты поставишь '\n'. на C# это выглядит так:
тогда у тебя получится массив нарезанный из кусков первоначального сообщения. а там уже с ним можно делать много всего разного.. Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
это...? а на что похоже? это алгоритм решения задачи: если скрипт твой - то где-то ты же используешь строку которую вбиваешь в инспекторе?! там и надо с ней разбираться. если скрипт не твой - тогда хуже.. разбираться надо с его кодом поэтому и просили тебя уточнить - что к чему! или через блокнот.. ПОПРОБОВАТЬ.. Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Сообщение отредактировал KamiRonin - Понедельник, 09 Декабря 2013, 10:25
пиши свой инспектор или внутри ИСПОЛЬЗОВАНИЯ введенной в инспектор строки - делай парсинг. я не нашел как решить эту задачу другим путем. Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Вот и реализовываем!! Из под одного проекта вылетают еще пара-тройка! Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Добавлено (07.12.2013, 20:38) --------------------------------------------- дневник разработки: - было принято решение делать сценарные заполнения в 2D. Для этого написал свой фреймворк а ля "Visual Novel" только на спрайтах. Отличный все таки 2D движок в новом Unity!! Для замены вполне себе коммерческого фреймворка на приемлемом уровне потребовался один вечер! - принято решение, что игра будет использовать три вида непрямого управления. - закончено движение лунахода, отточен внешний вид. - завершен сценарный замысел. взялся за детали. - проработал концепцию поверхности и программной генерации нюансов - препятствия на пути будут у каждого игрока уникальные! нужен ZBrush моделинг с высокой сеткой. Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Сообщение отредактировал KamiRonin - Суббота, 07 Декабря 2013, 20:42
Просто хотелось подчеркнуть, что чтобы делать игры, нужно этим болеть, ведь это не простоя задача и не всё так радужну как это малюют.
зачем же тут флудить то?? есть же тема для этого!! Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
вот это было бы оччень логично!! Игры .... Игрострой Плагины и аддоны Движки Коммуникации .... Обучение игрострою Видео курсы Веб-проекты ... Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
гладко идет!! молодцы. я немного в шоке от графы.. я бы еще ваши с Денисоком аватары в карты превратил.. Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
нет нет, как раз-таки через абстрактный класс, мы обращаемся к потомкам.
я же писал, что это грубо говоря.. Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
это из ссылки от Киры просто используется офис. там все в документах. Document это имя типа, а document эт переменная.
тут было две или три темы "ООП на пальцах" - почитай их обязательно или что-то про Объектно Ориентированное Программирование.
abstract означает что класс или метод пишется как болванка (абстракция типа) для конкретизации в дальнейшем - в его ПОТОМКАХ. абстрактные методы не могут вызываться из твоей программы!! они же болванка а не продукт. когда ты сделаешь свой класс от абстрактного - тогда их можно будет применить.... ГРУБО ГОВОРЯ! Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
во во.. Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Если бы в .net можно было сделать массив в массиве то это было бы очень просто Например массив, который типа класса в котором другой массив.. Так бы мы легко создали группы которые занесли в массив.. Но давайте не будем говорить о нереальном
нереальное но я бы на твоем месте сделал отдельный класс, назвал бы как нибудь СashWork. прописал бы ему статические методы по регистрации действий, по редо и андо в нем. там была бы ТОЛЬКО ОДНА переменная которая хранит цепочку последних действий (в заранее заданном количестве), и переменная, которая указывает на текущую позицию в нем. если у тебя создается 100 элементов в качестве ОДНОГО действия - то это сложнее, но лучше сделать так - все действия должны записываться в виде отдельной структуры с вложенным массивом (на случай 100 элементов напр.). структура "СashWorkElement" должна содержать все важные тебе параметры: ссылку на прототип созданного объекта*, позицию объекта, поворот, цвет, размер и тп. Чтобы потом можно было бы восстановить. * ссылка должна быть на прототип только чтобы сделать возможность отмены УДАЛЕНИЯ объекта без больших накладок с хранением их в невидимой форме после удаления. поэтому все объекты должны быть префабнутыми или примитивами. в классе был бы автоматический метод удаления "хвоста" - т.е. старых позиций, когда становится невозможно отменить действие. ну как то так. Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Сообщение отредактировал KamiRonin - Среда, 04 Декабря 2013, 09:25
Хаус мне не нравится, а вот дедушка Фрейд - самое оно))
Фрейд? ошибся он в корне, а для своего времени хорош был конечно! Хаус мегаперс!! Если бы в каждой стране был один такой - выживало бы много хороших людей.
Цитатаmygamefuture ()
Согласен. Я здесь и не ищу особого по-предметного обсуждения. Тема создана скорее для выявления реакции и отклика...
реакция умеренно отрицательная, местами переходящая в град негодования и бурю возмущения. отклик "LAST-ACK...FIN" :)) связано это все с тем, что - идея не ноу-хау - область темная и ломиться туда плохо (дискуссии еще ведутся в мировом сообществе, но кому надо уже психотронное оружие сделали и применяют. хватит мозг людям деструктировать). - подход к вопросу немного "удивил" своей легкомысленностью. - тех.часть представлена плохо - концепция реализации нулевая - моральная сторона оплевана (мораль фиг с ней.. там же люди! это же глубоко личное пространство) - объем работ оценен не верно и тп.
понятно, что mygamefuture, возможно хотел побудить народонаселение к реализации светлого, важного и ценного. ясно что иногда даже идеи достаточно чтобы сместить точку сборки. очевидно, что этот человек не стремился завоевать мир или построить зомбимашину. не нужно объяснять что хотел в том числе облегчить кому-то его тяжкие будни, добиться немного волшебства в этой жизни, создать поток реализации каких то новых горизонтов... эт все - ага. ну бывает получается.. а бывает - ВОТ ТАК. а в остальном - удачи и реализации!! Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Сообщение отредактировал KamiRonin - Вторник, 03 Декабря 2013, 23:51
двусмысленная фраза!! а так ты прав! просто дело не только в твоем проекте. у тебя ПРАВИЛЬНЫЙ подход - на счет публикаций как показателя, и про добавление купленного материала!! но видишь же ТУТ ЕСТЬ ОПАСЕНИЯ!!! некоторые люди бояться, что тролли затролят, флуды зафлудят, низкорепники занизкоропщут! а тут на самом деле нужно (ИМХО) такой вот нормальный взгляд на вещи оформить в виде правил! и правила отрегулируют 90%! Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.