|
Опубликовано 16.04.2013 15:49 (12 лет назад) # |
Zer0 написал:
Мужчины, меньше понтов, больше красивого кода и играбельных проектов! Пусть это будет гейммейкер, но чтоб выглядело как шедевр. Чтоб было самому приятно играть.
Лично я в определенный момент начинаю ненавидеть свою игру. Она тупая и неинтересная. В ней нет изюминки, стиля... Чаще всего, такое возникает из-за того, что при разработке и дебаге ты вдоволь наигрываешься в свою игру, я так думаю.
Тут сильно помогает фидбэк и тесты со стороны. Но не всегда такое доступно. А иногда — стыдно выкладывать. |
|
|
|
Опубликовано 16.04.2013 15:59 (12 лет назад) # |
Daemon, порой такие чувства возникают от бляклой графики и однообразного гемплея, так что краски в руки и вперед, к разнообразтю =) |
|
|
|
Опубликовано 16.04.2013 16:01 (12 лет назад) # |
Dj_smart написал:
Хотите баньте, но я не удержался
Я так подозреваю, голосование будет еще бОльшим цирковым представлением ;) С конями и клоунами. |
|
|
|
Опубликовано 16.04.2013 16:03 (12 лет назад) # |
Daemon написал:
Лично я в определенный момент начинаю ненавидеть свою игру. Она тупая и неинтересная. В ней нет изюминки, стиля... Чаще всего, такое возникает из-за того, что при разработке и дебаге ты вдоволь наигрываешься в свою игру, я так думаю.
Всё верно. Глаза привыкают да и 100500 раз повторённые однотипные действия при отладке приводят к приеданию. Это просто нужно перебарывать в себе и помнить первые впечатления :) |
|
|
|
Опубликовано 16.04.2013 16:11 (12 лет назад) # |
По теме:
Осознал, что когда-то давно написанная на скорую руку система 2D рендера ужасна, чтобы банально поскроллить экран в игре приходится извращаться. Задача — переписать 2D-рендер. Желательно за день-два :)
редакция от Daemon, 16.04.2013 16:11 |
|
|
|
Опубликовано 16.04.2013 16:58 (12 лет назад) # |
Neuch написал:
черт. и тут я споткнулся. ненавижу придумывать аи врагов
На самом деле всё не так страшно.
Сначала определяешь набор состояний, в которых могут на ходиться враги.
Например: Ожидание, Патрулирование, Нападение, Убегание.
Это означает, что в любой момент времени враг может находиться только в одном из этих состояний.
Далее, детализируешь каждое состояние.
Ожидание
- Восстановить 1 нр.
Патрулирование
- Если не выбрана точка точка перемещение - выбрать точку
- Двигаться к точке
Нападение
- Если дистанция до персонажа <= дистанции атаки - атаковать
- иначе
- Выбрать точку движения = точке персонажа
- Двигаться к точке
Убегание
- Выбрать точку подальше от персонажа
- Перемещаться к точке
Далее, прописываешь правила, по которым меняются состояния.
Ожидание
- Восстановить 1 нр.
- Если видно персонажа и много хитов - сменить состояние на Нападение
- Если не видно персонажа и много хитов - сменить состояние на Патрулирование
- Если мало хитов и персонаж, сука, близко - сменить состояние на Убегание
Патрулирование
- Если не выбрана точка точка перемещение - выбрать точку
- Двигаться к точке
- Если видно персонажа - сменить состояние на Нападение
Нападение
- Если хитов осталось немножко - сменить состояние на Убегание
- иначе
- Если дистанция до персонажа <= дистанции атаки - атаковать
- иначе
- Выбрать точку движения = точке персонажа
- Двигаться к точке
Убегание
- Если персонаж далеко - сменить состояние на Ожидание
- иначе
- Выбрать точку подальше от персонажа
- Перемещаться к точке
Осталось сделать реализацию простых команд, вроде, видно ли персонажа, движение к точке и пр.
Причём вот этот базовый костяк *уже* заставит "Искуственных Идиотиков"™ вести себя вполне "разумно".
Они будут нападать на персонажа, когда сильны, убегать - когда слабы, лечиться, если ранены и искать персонажа, когда его не видят.
И реализуется всё это в кратчайшие сроки. Алгоритм просто, понятен и прозрачен.
Потом можно добавить новые состояния (Поиск еды, например), новые действия и пр. Главное помнить, что проектирование подчиняется правилам проектирования FSM (конечный автомат) и не должно быть "тупиковых" состояний, из которых нельзя выйти или непришейк*рукавных, в которые нельзя попасть ни при каких условиях.
редакция от Shirson, 16.04.2013 17:02 |
|
|
|
Опубликовано 16.04.2013 17:15 (12 лет назад) # |
Neuch написал:
проблема. когда мой герой находится за стенкой, но попадает в радиус видимости врага, система замирает, так как робот рассчитыват варианты движения к персонажу и не находит их
Нужно использовать не радиус видимости, а саму видимость. Если персонажа видно, то ... и далее, чего-уж-там
Опять же, что значит "рассчитыват варианты движения к персонажу и не находит их"? Спросил у поиска пути, куда идти. Вариантов ровно два - идти туда (путь найден), не идти никуда (путь не найден).
А зависание от ошибки проектирования, это надо устранять концептуально. |
|
|
|
Опубликовано 16.04.2013 20:18 (12 лет назад) # |
Непонятные странности происходят из сюжетом моей игры на конкурс... Вроде бы все придумывал сам, включая персонажа, врагов, обстановку - старался все делать оригинальным. А в конечно итоге все смахивает на один голливудский блокбастер:) |
|
|
|
Опубликовано 16.04.2013 20:38 (12 лет назад) # |
JNot написал:
Непонятные странности происходят из сюжетом моей игры на конкурс... Вроде бы все придумывал сам, включая персонажа, врагов, обстановку - старался все делать оригинальным. А в конечно итоге все смахивает на один голливудский блокбастер:)
В известной новелле «Четыре цикла» Борхес утверждает, что все сюжеты сводятся всего к четырём вариантам:
- штурме и обороне укреплённого города (Троя)
- долгом возвращении (Одиссей)
- поиске (Ясон)
- самоубийстве бога (Один, Аттис)
Французский исследователь Жорж Польти опубликовал в 1895 году книгу «Тридцать шесть драматических ситуаций», в которой свёл весь опыт мировой драматургии к разрабатыванию 36 стандартных сюжетных коллизий.
Это к тому, что всё придумано до нас :) |
|
|
|
Опубликовано 16.04.2013 20:42 (12 лет назад) # |
Вечный двигатель до нас придумали =) ? |
|
|
Главный Говнюк
|
Опубликовано 16.04.2013 21:18 (12 лет назад) # |
Давать ссылки на ресурс в котором надо регистрироваться для просмотра, нехороший вариант. |
|
|
|
Опубликовано 16.04.2013 23:01 (12 лет назад) # |
Fargost написал:
Вечный двигатель до нас придумали =) ?
Ничего, что речь про сюжеты шла?
редакция от Shirson, 17.04.2013 00:57 |
|
|
Древний организм
|
Опубликовано 17.04.2013 07:51 (12 лет назад) # |
Попробую объяснить для самых маленьких (как взрослые вы не понимаете):
У нас тут не контактик и не твиттер. Ваши сообщения из разряда "сходил посрал" никому не интересно. Ваши ссылки на приватные страницы без объяснения что это и относится ли это вообще к теме, тоже никому нафиг не нужны. Тоже самое относится и к остальному контенту. Оскорбления и наезды - неприемлимы в принципе.
У нас тематический сайт и тематический форум. Хотите болтать на свободную тему - вам в ваш любимый контактик.
Дальше я писать не буду уже, если вы это не прочитали и не попробовали понять, и нарушаете и далее установленные порядки, я буду вытирать ваши сообщения и банить.
Я всё сказал.
редакция от Darthman, 17.04.2013 08:00 |
|
|
|
Опубликовано 17.04.2013 09:56 (12 лет назад) # |
Сообщения по ходу разработки относятся к болтанию на свободную тему? Если да, то до прочтения сжечь.
Перепилил чуть систему 2D-рендера, но кардинальные изменения вносить не стал, слишком много костылей скопилось, того и гляди рухнет все :)
Сделал режим редактора с базоыми возможностями (передвигать, добавлять и удалять предметы), сохранение/загрузку карты. Генерируемого мира не будет, ибо запилить его красиво не успеется.
Успеть бы вообще набросать геймплей хотя бы на 5-7 минут |
|
|
Инженер‑космогоник
|
Опубликовано 17.04.2013 10:35 (12 лет назад) # |
Daemon
Генери руемый мир потому и бонусное требование, что с ним не так все просто. Чтобы сделать крутой генерируемый мир, нужно весьма потрудится, но при этом даже самый крутой генератор не сделает работы художника. |
|
|
|
Опубликовано 17.04.2013 11:33 (12 лет назад) # |
Mefistofel написал:
Daemon
Генери руемый мир потому и бонусное требование, что с ним не так все просто. Чтобы сделать крутой генерируемый мир, нужно весьма потрудится, но при этом даже самый крутой генератор не сделает работы художника.
Да, я уже заметил, что бонусные требования сложны/трудозатратны :) Разве что 5+ различных вариантов умереть выглядят более реально в пределах 2-х недель. |
|
|
|
Опубликовано 17.04.2013 12:02 (12 лет назад) # |
Shirson написал:
JNot написал:
Непонятные странности происходят из сюжетом моей игры на конкурс... Вроде бы все придумывал сам, включая персонажа, врагов, обстановку - старался все делать оригинальным. А в конечно итоге все смахивает на один голливудский блокбастер:)
В известной новелле «Четыре цикла» Борхес утверждает, что все сюжеты сводятся всего к четырём вариантам:
- штурме и обороне укреплённого города (Троя)
- долгом возвращении (Одиссей)
- поиске (Ясон)
- самоубийстве бога (Один, Аттис)
Французский исследователь Жорж Польти опубликовал в 1895 году книгу «Тридцать шесть драматических ситуаций», в которой свёл весь опыт мировой драматургии к разрабатыванию 36 стандартных сюжетных коллизий.
Это к тому, что всё придумано до нас :)
Классификация животных по Борхесу очень колоритный пример классификации (;
Например Аристотель считал, что существует всего 4 развязки сюжета. Роберт Макки описал в свое время 25 типов историй.
Но суть в том, что любая классификация не классифицирует все сюжеты, она покрывает только какую-то часть и на каком-то уровне детализации.
Shirson написал:Сначала определяешь набор состояний, в которых могут на ходиться враги
Это же известная схема AI на основе состояний и поведений. По идее должно быть популярное название и ссылки на умные статьи с описанием (типа того).
Все не только придумано, но и описано до нас (;
редакция от bsivko, 17.04.2013 12:48 |
|
|
|
Опубликовано 17.04.2013 13:09 (12 лет назад) # |
Daemon написал:
Сообщения по ходу разработки относятся к болтанию на свободную тему?
Ну как раз ты-то в тему пишешь :) |
|
|
|
Опубликовано 17.04.2013 13:15 (12 лет назад) # |
Daemon написал:
Поле для обучения — это отлично. Я и сам не раз ковырял исходники конкурсных и не только игр. Только вот ни разу я не пробовал компилировать их. И рискну предположить, что таких как я — много. Подсмотреть кусок кода или вообще нагло его стырить — да. Компилировать — не возникало нужды.
Тема призакрылась, но все таки добавлю свои 5 копеек.
1. Код, который чаще всего здесь появляется, не предназначен для повторного использования. Это решение конкретного человека для конкретной задачи в конкретных условиях. Если вы копипастите такой код, то вы не знаете ни первого, ни второго, ни третьего. Вы не знаете, почему решение именно такое, а не другое. Вы не можете быть уверены в качестве кода, не можете хорошо понять контекст применения. Вы не знаете, на какие грабли наступал автор этого кода прежде, чем прийти к такому решению. Все, что можно сделать - это уловить идею, чтобы потом её реализовать самому - что есть обучение.
2. Вы считаете, что ваш код - уникальный редкий ресурс, за которым охотятся злобные бандерлоги и хотят им воспользоваться? Вполне возможно. Но обратите внимание, что на свете есть более вкусные ресурсы - можете сравнить их ценность и вашу?
3. Основную ценность представляет собой опыт. Человек, который сам реализовал X, намного ценнее того, кто просто знает, что на свете есть X. К сожалению, понимание этого приходит только со временем.
4. Делиться опытом - это полезно. Другие люди могут указать слабые стороны, поделиться мнением, провести review, и кроме того, они вас будут больше уважать и охотнее делиться опытом с вами, и тем самым, вы будете быстрее расти. Если же "у меня есть/была идея/реализация X, и я буду её охранять (всю оставшуюся жизнь)" - то это означает останов.
5. Может так оказаться, что вы считаете, что у вас что-то уникальное, то здесь есть возможные пути решения. Если хочется застолбить за собой имя (именно Я придумал X!), то достаточно сделать публикацию (крайний случай наверняка - в любой журнал; слабый случай - пост в блоге; пошире динамика). А если хочется не только имени - то думаю возможно оформить патент (например при разработке игры Gauntlet было оформлено 5 патентов). Но всю жизнь дрожать за свои идеи и исходники - это (по-моему) гиблое дело.
редакция от bsivko, 17.04.2013 15:42 |
|
|
Древний организм
|
Опубликовано 17.04.2013 13:26 (12 лет назад) # |
4. Делиться опытом - это полезно. Другие люди могут указать слабые стороны, поделиться мнением, провести review, и кроме того, они вас будут больше уважать и охотнее делиться опытом с вами, и тем самым, вы будете быстрее расти. Если же "у меня есть/была идея/реализация X, и я буду её охранять (всю оставшуюся жизнь)" - то это означает останов.
Да, да.. Написал я тут ревью на скроллер. Даже Dan и тот на меня накинулся с кулаками после этого :D
Но в целом пост-то 100% верный. Именно то, что хотел сказать, наверное я, но не смог так красиво сформулировать. |
|
|