15

» Бродилка / [Лог #7] Класс рисовальщика.

prog:
Вот меня больше всего пугает конкретная реализация различных скиллов. Вернее сказать их разнообразие, например, геймдизайнер напридумывал кучу способностей герою, а как это реализовать ? (проект разрабатывается от желаемого результата, например ).
В варкрафте3 можно ведь свои бафы\скиллы\эффекты делать? как там это примерно реализовано? а то я в редакторе варика вообще дуб (
15

» Бродилка / [Лог #7] Класс рисовальщика.

[Слоупок мод] Можешь примеры этих всяких баффов показать? Или статью знаешь какую? Интересовался как-то этой темой для другого "проекта", но ничего лучше этого (см.рис. часть с эффектами) не придумал :(
Интересно вообще создание скиллов абсолютно разных.
Загруженные файлы
15

» Бродилка / [Лог #7] Класс рисовальщика.

_gameEngine->GetCollisions(this)
OnCollision
Вот как раз об этом. Коллизия подразумевается "прямая" физическая или же триггеры тоже работают ? Я это к тому, что объект "бочка" может быть заминирована и взрываться при попадании объекта в некий радиус\объём.
И попадание пули в бочку похоже решается каким-нибудь _gameEngine->RayTrace ? но для трассировки нужны ведь точка (пушка машины) и направление (камера? направление машины?).
15

» Бродилка / [Лог #7] Класс рисовальщика.

Вот помню как-то спрашивал на gamedev.ru про компонентную систему объектов ( хотя вопрос был в другом, но немного и этот задели ). И был у меня такой пример - планируется игры типа Twisted Metal какой-нибудь (гонки на выживание). Как будет выглядеть класс-объявление машины и взрывной бочки и их "взаимоотношение"(столкновение, например ).
Имхо, дробление игрового объекта - спорная вещь, ведь можно так разделить, что аж жуть и вместо тройки классов будет 100500. Возможно сможете меня переубедить ? )
15

» Бродилка / [Лог #7] Класс рисовальщика.

Kozinaka:
Каюсь! ) Вообще хотел когда-то сделать как советуют - разбить всё т.е. всякие там IRenderable, IMovable и т.д. но как-то не пошло :(
15

» Бродилка / [Лог #7] Класс рисовальщика.

Kozinaka:
Ооо, понятно ) Я бы сделал почти аналогично, но вот вместо switch обычно наследование использовал и по этой причине всё рисование было реализовано в конкретных классах игровых объектов.
А по слоям раскидывает функция, например, DrawWorm или слой задаётся раньше ?
15

» Бродилка / [Лог #7] Класс рисовальщика.

Kozinaka:
Хмм .. ну со слоями вроде понятно - без них в 2Д сложновато. Но есть вопрос - по сути рисование объектов как-то вот так делается ?
void SuperGame_MainLoop_Draw( )
{
    // ...
    // собственно pDrawer - это тот, кто всех рисует
    // DrawWorm - это рисование "червя"
    // pWorm - объект самого "червя"
    pDrawer->DrawWorm( pWorm );
    // ...
}
Я правильно понял идею ?
15

» Бродилка / [Лог #7] Класс рисовальщика.

... жирный клас отрисовщика, который их сортирует, группирует ...
Ну и RenderDevice можно аналогичной штуке научить ) Хотел вот добавить методы BeginScene \ EndScene (как в DirectX) там бы сбрасывались\ выводились списки на отрисовку.
А можешь небольшой примерчик кода как эта штука работает? С жирным отрисовщиком и конкретным объектом.
15

» Бродилка / [Лог #7] Класс рисовальщика.

лучше завести что-то типа IDrawableObject с методом Draw в который будет передаваться твой IRenderDevice или что-то типа того, с помощью которого можно будет рисовать примитивы на экране
Как раз думал об этом, а то у меня раньше было, что GameObject имел метод Draw куда и передавался этот RenderDevice, вообще там была очень лихая цепочка передачи этого "девайса" - сначала GameState, потом CWorld, затем GameObject ( и наследники), но думаю во всех самописных движках что-то вроде этого ))
15

» Бродилка / [Лог #7] Класс рисовальщика.

Я это называю графическим движком
Слишком мощно звучит для моих классов :) Но вообще там функции уровня DrawQuad, DrawMesh, а для конкретных игровых объектов можно вообще ещё один класс написать (или реализовать в этих самых объектах), типа DrawSupergun или DrawBee.
Ну и делал бы дальше на Юнити, не?)
Дальше? Но ведь я даже не начинал ) Хотел GameMaker использовать т.к. быстрее получилось бы (наверно). Сейчас уже начал потихоньку делать прототип на юньке.
Кстати, вот подумал о сюжете и персонажах и пришёл к очень интересной на мой взгляд штуке - продолжить историю другой игры, но долго сомневался надо ли сделать про кого-то нового или оставить старого перса. Изначально бродилка и задумывалась как продолжение. Короче вот небольшая игруля сделанная на конкурс Gaminator15 (но выкладываю пост-конкурсную версию)- ссылка на архив , кто пройдёт от начала и до конца - тому "респект и уващужа вообще!" :)
15

» Dota 2 / Dota 2 Workshop Tools

Editor:
Ну всё же есть наверно какие-то специфики.
Aws:
Если имеется ввиду их PDF'ки, то это немного не то, там конечно есть полезная информация.
Видел когда-то руководство на просторах стима (англ. и русский перевод), вот что-то типа поэтапного руководства - было бы круто, да ещё и на каких-то реальных предметах.
Неужели тут нет воркшоперов ?
15

» Dota 2 / Dota 2 Workshop Tools

Дико извиняюсь за "археологию", но думаю здесь было бы уместно спросить о создании предметов (которые в мастерскую идут) для DotA2. Кто знает хорошие уроки \ сообщества по данном дулу ? Кстати, думаю сюда они бы отлично вписались :)
15

» Бродилка / [Лог #6] Немного о структуре движка.

Kozinaka:
Не спорю, что придётся дольше писать и проблемы могут возникнуть и там и там, но я ещё думаю над этим )
Первые альфы конечно будут реализованы "в лоб", без всяких наворотов.
H:
Многие так яро хотят посадить велосипедиста на иглу движок, но если так уж хочется то конечно я могу написать на каком-нибудь GameMaker или Unity3D тест игровой механики, ладно если механика игры примитивна (как у меня).
Вообще не понимаю зачем писать змейку на Unreal Engine 4 :)
15

» Бродилка / [Лог #5] Немного о локациях.

H:
в Unreal Engine, Hammer Editor - по сути весь уровень состоит из "коробок"
нет. Уровень состоит из простейшей геометрии, причем это только стены (как у тебя ландшафт - или мешь земли). Но при этом на нем все остальное в виде отдельных моделей. (персонажи, декорации, деревья и т.п.). И сама основа геометрии тоже хранится отдельно (если ты конечно специально её не сгруппируешь).
Мм.. ну это я и имел ввиду, наверно просто непонятно объяснил ) Ясен пень, что например, модельку игрока хранить в уровне - плохое решение, как и деревья. Деревья простые объекты с моделькой, которые дополняют базовую геометрию.
Цельная геометрия имеет неприятный побочный эффект в виде полной загрузки уровня в память, даже если ты не видишь большей его части.
Всё зависит от самого уровня и его сложности, конечно есть всякие технологии вроде стриминга, но мне пока хватит и обычной загрузки, ну или в крайнем случаи фоновую загрузку можно реализовать.
15

» Бродилка / [Лог #5] Немного о локациях.

Дык никто же не собирает уровень как одну модель лол. Уровень обычно собирается из большой кучи мелких моделей
Окей, одна большая модель -> несколько небольших, их получение я описал как "разбиение пространства". Можно посмотреть как строятся (прототипируются?) в Unreal Engine, Hammer Editor - по сути весь уровень состоит из "коробок", причём статичных, поэтому даже нет смысла разделять их как мелкие объекты. Короче, надеюсь я понятно изложил мысль, что хранить статическую геометрию уровня лучше как одну большую модель :)
А по спрайтам - не знаю даже, не думал об этом.
15

» Бродилка / [Лог #1] Немного кода.

Тут конечно разгорелась дискуссия "Готовый движок против велосипеда" :)
Я не буду яро отрицать, что иногда готовые движки - лучшее решение, например, когда проект ограничен по времени и выбранный двиг удовлетворят требованиям. А когда хочется посидеть у камина завернувшись в одеяло изучать "кишки", разобраться в устройстве работы в принципе ну или когда не ограничен в строках и можешь вообще переписать весь код, скажем, под мобилы. Вы наверно заметили, что к разработке игры я подошёл по большей части со стороны контента, смекаете ? :) Этот контент можно использовать хоть в своём велосипеде, хоть в готовом супер-движке со стоимостью в 99999$ (разумеется, цена - совсем другой вопрос). Что я хочу сказать. Делайте игры\моды и всё ! :D
15

» Бродилка / [Лог #4] Анимация.

ScorpioT1000:
С крыльями всё плохо =(
Ага ( Kozinaka уже это подметил на стопгейме.
alexprey:
Хорошо, подпишу анимации )
15

» Бродилка / [Лог #4] Анимация.

I_D_:
Последняя анимация "Смерти" странная - мало движений тела осы.
И из-за этого она как киборг какой-то двигается, не похоже на живую.
Да, как только я не пытался сделать смерть живее (странновато звучит :) ) - ничего не выходило, скорее всего у меня просто руки из одного места или нужно больше практики.
H:
Круто =)
Ждем процесс создания карт или еще чего нибудь..
До полноценного создания карт ещё далеко, разве что можно прототипы в блендере замоделить ) В следующий раз скорее всего речь пойдёт о основном стиле локаций, атмосфере, в общем посмотрим что будет :)
15

» Бродилка / [Лог #1] Немного кода.

... "Бери asm и пиши всё с нулю даже вывод."
Да это вызов! :D А вообще можно и на asm'е писать, чисто ради знаний, ведь интересно же)
15

» Бродилка / [Лог #3] Моделирование пчелы.

Вопрос на засыпку, это разве не оса?)
Эмм... ты меня раскусил! :D В безумном мире Бродилки есть место только пчёло-осам!
Вопрос, а модельки из блендера можно в юнити свободно экспортировать?
Да, я использовал .fbx и .obj для этого.
Круто создано, можешь делать мод для Borderlands, графика такая же самая.
До Borderlands мне как до Луны :)
Много времени ушло на модельку?
Точно сказать не могу - не засекал, возможно, часа 2.
alexprey:
Ждем следующий лог)
Думаю сегодня его оформить)
15

» Бродилка / [Лог #3] Моделирование пчелы.

долго учился моделить?
Сложный вопрос на самом деле. Впервые за 3Д редактор (3DsMax) я сел в 2009, а в Blender'е ещё года не прошло :)
15

» Бродилка / [Лог #1] Немного кода.

какие ограничения накладывает Юнити?
Рендер в текстуру, и следовательно различные пост-процессы. Больше ограничений назовут те, кто дольше с юнити работал.
15

» Бродилка / [Лог #1] Немного кода.

Doc:
Просто не привык к готовым библиотекам ) Это конечно хорошо, когда есть какие-то основа, а не голый ЯП. Кто знает, возможно, возьму какое-нибудь готовое решение.
15

» Бродилка / [Лог #2] Концепты врагов.

Я его не читал - не заметил ссылки. :) Теперь прочёл. Полегчало? Нет.
Это платформер? Вообще игра 2Д или 3Д? Кто главный герой? Куда он прыгает? Зачем? ...
Вот отличные вопросы! ) Действительно, для народа не понятно, что вообще из себя будет представлять игра. Наверно лучше бы не в комментарии это писать, а как отдельный ресурс-новость, ну или на крайняк в диз-доке, но напишу здесь:
Это не платформер (прыжки не являются ключевым элементом игрового процесса), игра планируется 3Д. Главный герой в данный момент визульно слишком похож на Линка ( The Legend of Zelda ), что на самом деле меня огорчает, как бы не восприняли игру как клон. Уровней имеется два типа: "свободная зона", где врагов мало, а сама зона посещается по сюжету - это первый тип, а второй - "подземелье", которое генерирует программа.
Цель игрока - пройти сюжет (вот это неожиданность! :) ) по сюжету пока ничего не говорю т.к. во-первых это был бы спойлер, а во-вторых его на данный момент так мало, что говорить о нём практически нечего. Игровой процесс сводится к беганью по локациям, убиванию врагов и подбор лута, последний очень необходим т.к. чтобы пройти какое-то место нужно сразится с мощными врагами.
Скриншоты в конце по большей части ориентир графического стиля, а первый показывает примерный вид камеры (как бы сверху, но с небольшим наклоном).
Надеюсь немного прояснил ситуацию )