Форум » Вопрос-Ответ » Хак-энд-слэш » Ответить

Хак-энд-слэш

GarikArch: Доброго времени суток. Хочу сделать игру направленности хак-энд-слэш. Ну как Devil May Cry, например, только, конечно, менее навороченную в плане комбо и визуальных примочек. хотя если кто играл в первую часть - тот поймет, что я хочу. именно такой направленности я бы и хотел сделать боевик. Суть в том, что я не знаю какой конструктор взять за основу. все модели в *.smd для HL2 P.S.: с Unity3D работать не умею - если у кого есть учебник был бы очень признателен, если дадите ссылку. P.P.S.: заранее говорю - лет мне много и до этого я работал с движком HL2 - но из-за технических трудностей с анимацией приходится искать новый движок. P.P.P.S: Unreal 3.0 не предлагать

Ответов - 19

ккким: да... ДМК 3,4 играл... клево.. особенно под рок-н-ролл ваще веселье нереальное

Jin KaZaMa: как бы, конструкторы не дотянут до уровня ДМК, и даже подобие - вряд ли, будет проще писать это на более серьезных движках, нежели мучать конструктор и сталкиватся со "стенками" ограничений... Хотя нечто вроде Fighting Force(PSX) с простыми и незамысловатыми пенделями по врагам(без умопомрачительных захватов, заломов и прочих выкрутасов) наваять думаю реально, здесь имхо подойдет 3D Game Studio. Можно и ГМ с расширениями... но имхо оно не будет стоить усилий.

GarikArch: я как раз и не имел ввиду последние части DMC =) дело в том, что тот первый DMC от Хидеки Камии представлял из себя боевик, где первую роль играли незамысловатые удары мечом и огнестрельное оружие. быть честным, движок HL2 Episode Two не позволил мне внедрить нужную анимацию из-за проблем с отрисовкой движений. там система предсказаний глючная какая-то. а 3D Game Studio разве не для платформеров? простите мне незнание - я новичок в конструкторах.


Jin KaZaMa: GarikArch пишет: а 3D Game Studio разве не для платформеров? ну, там как-бы есть скриптовый язык- так что платформерами дело уж точно не ограничивается...

GarikArch: понятно спасибо. я посмотрел внутренности редактора - там язык С? или я совсем чайник? я к тому, что есть возможность адаптировать мой код С++ под HL2 к этому я зыку скриптов или у него с С ничего общего нет? и второй вопрос - я в Хаммер Эдитор ХЛ2 делал ролики на движке - такие вот с беганием по стенам, уклонением от пуль и потасовок с движениями со скоростью света - но в редакторе карт ХЛ2 были энтити, которые позволяли всё это реализовать. реально ли использовать виртуальную камеру 3DGameStudio для создания роликов игровых? или проще сделать видео-захват тех роликов, что из-под ХЛ2 сделаны и запихнуть *.bik-video в игру? Jin KaZaMa пишет: но имхо оно не будет стоить усилий. да, и вот ещё, ты когда написал это - имел ввиду гейммэйкер с расширениями или всю мою затею в целом? )))

Ev-genius: 3Д гейм студия поддерживает два так сказать языка, это скриптовый Си-скрипт, и Лайт-Си (lite-C). Скрипт уходит в прошлое, его поддерживают ещё пару версий чтобы разработчики успели дописать свои проекты если кто уже начал на нём. а Лайт имеет больше возможностей и есть будущее программинга гейм студии. Лайт в свою очередь может иметь какбы две ветки: упрощённый (Пур мод), и наследовательный (легаси мод). Зависит от того будете ли вы использовать набор движковых библиотек которые значительно упростят некоторые рутинные вещи, либо же вы собираетесь иметь практически 100% контроля движка, включая вин-апи итд. Лайт имеет расширения *.h - для файлов "заголовков" и *.с для файлов самого кода, Визуал студия вполне понимает синтаксис, так как лайт это тотже С++ но со своими предопределёнными классами и если есть желание весь проект можно реализовывать подключая всё это в кучу. Несмотря на такие возможности, пур мод остаётся самым популярным его хватает на все 100% для создания полноценной игры, если вам ненужно перехватывать сообщения Винды для окна и прочие низкоуровневые штучки. Поэтому не стоит страшиться сложности, инклудим acknex.h - тем самым подгружая набор внутренних библиотек для полного управления движком, и пишем игрушку. кстати выше я писал про визуал студию, привёл для примера (те адаптировать можно), сама геймстудия имеет полный набор стандартных средств, от дизайн уровней+где был даже импорт из хаммера, широкий спектр конвертеров моделей, и собственный редактор кода с подсветкой синтаксиса и динамическим справочником. Гейм студия способна работать со множеством видовых камер одновременно, камере можно задать пути следования как программно camera.x++ =) так и подключив её к пути который строится в редакторе как вам удобно. Всё вполне удобно

GarikArch: 2Ev-genius: это гениально))) меня бы не хватило на такой обширный пост. информации море полезной - спасибо! значит работает как обычный набор сорсов и хидеров в файле *.sln Visual Studio... а можно чуть поподробнее про импортирование из хаммера? это значит что геймстудио понимает форма vmf или просто поддерживает схему BSP?

GarikArch: да и ещё совсем тупой вопрос. вот этот MDL GameStudio ничего общего к кваковским контейнером MDL не имеет? и раз так - есть ли экспортер для макса 2009 для этого МДЛ7 или 5?

Ev-genius: GarikArch пишет: значит работает как обычный набор сорсов и хидеров в файле *.sln Visual Studio... В общем там суть в том что легаси мод позволит тебе компилировать в студии, будь то С(*.c) либо С++(*.cpp) но выбирая этот режим прослушку сообщений винды тебе придётся писать самому и реализованы только стандартные функции вот, но я бы не советовал лесть в дебри легаси без особой нужны, както делал редактор уровней, в режиме ингейм) понадобились кнопочки окошки настроек и текстовые поля, вот пришлось туда лезть и писать десяток однотипных Вин апи функций. без них всё выглядит гораздо красивее)) Причем подключая пур мод, ты получаешь пару сотен движковых функция которые сможешь выхывать из своих левых либ. кстати формат Ц писал алгоритм астар - поиск путей в dll, для гски Вообще вроде как на дельфях, если мну не изменяет память. это к тому что ограничений типа only C - нету) GarikArch пишет: а можно чуть поподробнее про импортирование из хаммера? там немного не так, уровень состоит из ентитей и блоков, первые могут иметь свои исполняемые функции, последние есть неподвижная часть уровня, вот её как я помню импортировали их хаммера в Вед, а ещё уровень из веда уходил в порт для КСки. Но это тебе надо будет узнать подробнее, я так не скажу. Формат мдл общего не имеет, ни с квакой ни контрой, а экспортеров мешок целый) я вот помню ктото в милке без всяких плагинов смог отыскать схожие форматы и так и конвертировать. для макса есть, искать нужно будет на офф сайтике русскоязычный: могу посоветовать академию - 3dgs.ru офф - opserver.de он же 3dgamestudio.com думаю хлебных крошек куда искать я оставил

Jin KaZaMa: GarikArch пишет: да, и вот ещё, ты когда написал это - имел ввиду гейммэйкер с расширениями или всю мою затею в целом? ))) про ГМ с длл, с физикой запара будет, да и вообще на нем легче несложные 3д аркады и шутеры делать(т.к. библиотеки - только рендер, а все игровые события придется через обычный ГМ делать).

GarikArch: оу... ну спасибо. с программированием кажется более или менее разобрался. получается, что вот этот вот main.c - это как бы тот самый из которого Dll потом компилируется... 64-bit 3D Studio Max с экспортёром МДЛ не дружит, поэтому единственный выход - это 3DS =) спасибо всем огромное! надеюсь к марту месяцу техническую демку сделать)))

Ev-genius: на последок если разбираться стандартными средствами Гейм студии то основа сводится в три действия: -подобрать модели кинуть их в папку (редактор Med) -построить уровень, накидать туда моделей (редактрор Wed) скинуть уровень в туже папку. -в тойже папке создать файл some_name.c открыть его в SED и там вписать: #include <acknex.h> void main(void) { level_load("my_level.wmb") } и запустить это втомже Sed - движок всё собёрёт и запустет. я это к тому что использовать Визуал студию и писать дллки можно, но совсем даже не обязательно, всё можно сделать меньшими усилиями и весьма эффективно вобщем ждём демку =)

GarikArch: и правда зачем мудрить, если все библиотеки уже готовы=)

GarikArch: и снова здравствуйте))) если кроме стандартной анимации использовать и другие мне нужно создать файл C-lite а там через function handle_animation просто указать те анимации которые я импортировал? ну как-то так [CODE] ... if (my.currentframe == stand) ent_animate(my, "stand", my.animate, ANM_CYCLE); ... else if(my.currentframe == attack_heavy) ent_animate(my, "attack_heavy", my.animate,0); [/CODE]

Ev-genius: я подозреваю что ты нашел в студии темплайты =) темплайты это заготовки, достаточно простенькие. плюшевая камера от третьего лица, либо простенькая физика машинки за пару кликов. врятли в самих темплайтах будет чтото похожее на то, что тебе нужно будет, поэтому лучше писать самому. так например если честно про функцию handle_animation впервые слышу) возможно она из темплайтов. и наверное ты захочешь использовать кости. поэтому учишься импортировать модель с анимироваными костями, благо я этим не занимался так как та ещё рутина) на выходе у тебя должна быть готова моделька с косточками или без(последнее не приветствуется в таких игрушках) моделька должна иметь набор кадров типа walk.001, walk.002, walk.003, walk.004, walk.005........ таким образом ты групируешь анимацию на сцены, одна для ходьбы другая группа будет для бега, движок сам поймёт по названиям где что и как зацикливать. а дальше ent_animate(my, "walk", my.animate,ANM_CYCLE); например) и разместить ты это можешь в экшене своего главного героя. action some_name() { while(1) { if(key_w)ent_animate(my, "walk", my.animate,ANM_CYCLE); wait(1); } } ну вот как-то так

GarikArch: ага - тачка прыгала при помощи функции handleLift =) такие и для HL2 подходили. за код спасибо - это облегчает задачу =) я правда анимацию-то уже сдал - но у меня код получился убийственно большой=) теперь проблема как меч вложить в руки =| я его отдельно создал от персонажа: только как тесак в руки вложить? нужна кость к которой он прикрепится или динамические координаты меша на ладони? action player_action() { ent_create("sword.mdl", my.x, attach_weapon); // ну sword - это моделька из папки с персонажем. wait(1); } или я безнадёжно туп? =)

Ev-genius: вейт(1) делает перерыв на 1 фрейм для того чтобы пройтись по остальным функциям, её обычно вставляют в циклы которые запущены на протяжении всей игры, типа Степ в гамаке. модель создаётся в каких нить координатах, и ей можно придать экшен. в экшене да и при создании тебе нужно будет указать либо вектор кости либо вертекса - это функции (vec_for_vertex и vec_for_bone) создаешь оружие ent_create("sword.mdl", qwe, attach_weapon); где qwe - вектор3 положения либо кости либо вертекса (одна из точек полигона) модели, что тебе удобнее например vec_for_vertex(qwe, my, 100); attach_weapon - action attach_weapon() { while(1) { vec_for_vertex(my.x, qwe, 100);// установить координаты объекта в позицию qwe которая обнавляется у игрока выше wait(1); } } посути игрок записывает в вектор qwe положение своей точки в руке, а оружие ровняет себя с этой точкой, на протяжении всей игры. одна функция 2 раза во всем коде) оптимизируешь под себя. но советую сначала ознакомиться с хелпаом прежде чем чтото лепить =) переделывать меньше придётся) на академии (ссылка выше) один чел перевёл на русский тутор причем не просто промт+гугл, а всё разжевано, понятно и переведено грамотно. инфы море вначале даже не поверили думали фейк, некоторые даже искали странички переведенные машинами но ненашли))), человек постарался) там расписаны все функци и все возможности с примерами кода и коментариями к ним

GarikArch: я тебе уже устал плюсы ставить)))) ам... я видел эту ссылку, но тоже подумал, что переведено ПРОМТом с положением оружия разобрался, спасибо ещё раз! на этот раз точно всё - пошёл хоть что-то делать по проекту)))))

GarikArch: так... я только сейчас закончил клепать модели для игры))) 5 персонажей, 3 ствола, 2 меча и ещё куча всяких там машин и "обстановки". про демо и речи не идёт пока)) никогда бы не подумал, что сложнее сделать анимацию бега с огромным "тесаком", чем рубилова на мечах))))



полная версия страницы