NEOIA - v0.30 - побегать, пострелять, умереть, сгенерировать новый уровень ...
Доброго дня. Мой внутренний стим позволяет выпуск новой версии 0.30 игры NEOIA (Предыдущий пост — NEOIA — v0.20) — топ-даун шутера в чуточку sci-fi декорациях и с большим уклоном в процедурную генерацию контента и некоторыми элементами roguelike. В основу разработки данной игры входит желание вводить случайность там, где это возможно и ей позволяется быть случайной — при генерации карты, при расстановке предметов по карте, при генерации свойств оружия, таких, как скорость перезарядки, число пуль в очереди, урон
Как следует из столь малого процента в версии игры от законченной единицы — из планируемого и необходимого реализовано далеко не всё. Впрочем, до завершения по объёму работ не так уж и далеко. Впрочем, исходя из наблюдения за собой — темпы разработки существенно флуктуируют на фоне всего остального интересного и вот всех этих вопросов, типа, когда сидишь и думаешь, зачем я это делаю, почему, для чего это инди типа 2008-го, к чему оно без вылизанной пиксельной графики? тем не менее, в этой версии согласно записям в моём блокнотике имеем следующий изменения:
- показывается информация о монстрах/предметах при наведении на них курсора, как, например, шкала здоровья, название
- добавил новые предметы, имеющие временный эффект, навроде увеличения скорости передвижения, регенерации здоровья, усиления урона
и т. д. - два новых типа оружия с делящимися пулями (в следующей версии этот ствол поменяется) и изменяющие случайно траекторию полёта
- новый вид противника — взрывающийся при смерти и наносящий урон игроку (возможно, стоит также наносить урон и другим врагам)
- изменена графика оружия — теперь стволы процедурно собираются из заранее приготовленных и нарезанных спрайтов-частей винтовок
- добавлена графика комнат — тайлы пола, переделаны стены комнат и коридоров
- добавлена обводка к спрайтам игрока, врагов и предметов для увеличения контраста с новыми тайлами пола
- добавлены комнаты со специальными свойствами, такими, как электрические ловушки, бензопилы, регенерация здоровья, изменение управления
и т. д. , всего 8 специальных комнат:
- немного подправлен алгоритм генерации в Loop — теперь комната с боссом не может оказаться рядом со стартом игрока, и другие всякая мелочь, например, теперь монстры в комнатах появляются на противоположной её половине от той, где входит игрок.
Из важного и необходимого для чувства полноты в планах на ближайший какой-нибудь следующий релиз (не знаю уж будет ли он и когда):
- система прокачки персонажа между уровнями Loop, которая также будет использована и иметь больший смысл в компании
- NPC, через которых эта прокачка будет осуществляться, и которые, возможно, будут давать какие-нибудь задания игроку или как-то ему помогать
- новые комнаты, монстры, типы оружия, объекты интерьера комнат
Скачать можно вот тут — https://the.itch.io/neoia Спасибо.
- 24 декабря 2019, 18:25
- 09
Все плохо.
> Мой внутренний стим позволяет выпуск новой версии 0.30 игры NEOIA
Плохой у тебя внутренний стим.
наверное понятно, да, почему у разработчиков не выходит с единой средой публикаций и обитания, правда?)
Нет, не понятно.
Ты чо такой вредный все время?
Тебя тут вроде никто не обижает, а ведешь себя как говнюк постоянно.
Главное, что ты себя прекрасно ведешь.
Это да, спасибо!
Как ловко ты разобрал игру на составляющие и дал советы по улучшению в дружелюбном тоне! Любо дорого посмотреть!
Я всегда так пишу, если бы почаще был на гамине, то привык бы. Пишу как типичный игрок, который просто скачал какую-то игру в интернете и говорит вслух все что сразу вызывает у него непонятки.
Да и привык я уже к багам и недоработкам в играх, пишу о них в первую очередь. А что я могу сказать об игре если она сразу встречает костылями и даже поиграть толком не получается?
Это - не готовая версия игры, а в разработке. Поэтому нечего удивляться каким-то кривостям, странностям и совершенно недопустимым багам.
Любой разраб сам это знает, в отличие от простых смертных игроков.
Ну если бы ты пораньше появился на гамине, то тоже бы привык, что я всегда так пишу. И в первую очередь тем, кого давно знаю (ибо от них не ожидаю глупых обидок не понятно на что).
А по игре сказать нечего, потому что в ней реально плохо все, и если the этого не видит и просит какой-либо фидбэк, то значит "внутренний стим" у него действительно отсутствует.
но ведь я смотрю на неё влюблёнными глазами разработчика :3 которого так прикалывают вот эти все красивые пульки, которые отлетают от стен и те, которые отбрасывают врагов назад, а ещё те, которые с автонаведением, и те, которые замедляются при движении, останавливаясь. И то, как противники разлетаются на осколочки и как генерируется карта. Я вот не помню уже какой там алгоритм, но он он стабильно работает и между комнатами есть переходы и ничего не ломается. А ещё как открывается каждая новая комната, то есть она не просто мгновенно отрисовывается, а постепенно раздвигается от того место, куда зашёл игрок. Прикалывает, что цвета комнат плавно меняются между соседними комнатами и что цвета противников тоже рандомные. А ещё тут есть световой меч и какая-то безумная просто световая плётка и боссы, один из которых выкидывает оружия, чтобы игроку было чем его убивать если что, а ещё противники стреляют ровно таким же оружием, каким будет стрелять игрок. И руны типа как в квейке, например, которые дают ускорения или усиливают урон, отрисовываясь на игроке партикл-системой, и вот эти комнаты с бензопилами, с молниями и с тем, что ещё будет добавлено. И то, что можно подбирать предметы издалека и они летят за тобой через комнаты! не игра, а зайка просто
В опциях Fullscreen: True, а у меня игра в окне.
Справка в help не помещается целиком на экране.
Кампании нет. Музыки и звуков - нет. Что мешает просто не рисовать на экране нерабочие пункты меню?
В игре жму A, персонаж идет влево. Жму D, персонаж тоже идет влево. Все, дальше играть не буду, управление не работает.
Исправляйте.
Главное меню классно сделано.
Если делаешь игру - делай игру, а не меню к ней. После запуска игры сразу запускай уровень, а управление пиши прямо на полу. Главное меню, настройки - сделаешь в конце, когда игру будет готова.
Привет,
к сожалению, не представляю, что могло привести в игре из коробки к такому поведению игрока, так как у меня всё нормально работает, не мог бы ты скинуть в ЛС либо скриншот из меню настроек, либо скрытый файл с настройками из папки с игрой, если тебя не затруднит, конечно, и написать, какой ОС пользуешься
Вот, например, у меня под линуксом и виндоус pygame видит нажатия одних и тех же физических клавиш клавиатуры, как разных с разными кодами. Возможно, это фича какая-то новой версии, потому что пять лет назад так не было, например, а возможно и особенность конкретно моего железа, поэтому как будет у других игроков на других компьютерах не совсем понятно, что, впрочем, как предполагалось, должно быть исправимо за счёт наличия настроек в меню :D
ОСь - Windows XP.
Не знаю что произошло, но сейчас работает все нормально. В настройках управление нормальное.
Может какие кнопки понажимал - отлично помню что при нажатии D персонаж сначала пошел влево. При след. нажатии - вправо.
Подумал что мог случайно назначить какие-то кнопки в настройках перед первой игрой, но оно там осталось нормальное. Попробовал поменять - назначил A на "вправо"- игра тут же вылетела. Теперь игра вылетает при входе в настройки. Наверное туда записалась русская 'В' и питон не допускает такой символ, потому что в консоли успевает проскочить что-то про "character \0444". Тебе надо сделать фильтрацию ввода и запрещать назначать недопустимые символы. Или использовать scancode вместо key (привязываться не к введенной букве, а к номеру нажатой кнопки на клавиатуре).
Еще - по-хорошему изначально, после установки игры, в папке с игрой не должно быть файла с настройками. Который раз замечаю этот косяк во многих играх. Даже в Юнити перед публикацией забывают удалить output_log.txt.
Игра должна создать файл с настройками при сохранении настроек в файл, чтобы он был создан с правами пользователя который запустил игру, а не установил ее. Иначе может возникнуть ситуация когда игра сможет прочесть, но не сможет сохранить данные в файл. Еще это гарантирует что твои отладочные настройки не попадут в игру. Вообще болезнь всех программистов сейчас - забывать проверять "а открылся ли файл".
Еще лучше - создавать файл с настройками в домашнем каталоге пользователя, но это уже системнозависимый код. Тогда у каждой учетной записи будут свои настройки.
(кстати, сделай так, чтобы при снятии курсора с пункта меню фокус с него снимался, а то он остается на пред. активном пункте и можно случайно нажать ЛКМ и переназначить кнопку).
И почему игра не реагирует на Alt+F4, попытку закрыть ее крестиком и пункт "Закрыть" в меню правой кнопки мыши?
На время разработки было бы неплохо вести отключаемый лог в файл, можно в папку с игрой.
И если пишешь в консоль - сделай так чтобы она не закрывалась после вылета игры.
Запустил еще раз. Теперь персонаж не двигается WASD'ом, только стрелками.
Хотя в настройках написано WASD.
Но карта кнопкой M открывается.
Короче, настройки по умолчанию, те что выбираются при отсутствующем файле .neoia_dat отличаются от тех, что есть в файле в zip-архиве. Причем буквы (key) рядом с названиями действий - те же, а вот цифры (наверное это scancode?) - разные.
Никаких проблем не было бы, если бы ты оставил одно фиксированное управление без возможности его менять, пока игра в разработке.
TDS? Я люблю TDS. Будем посмотреть, что в итоге выйдет.
Попробовал поиграть, наконец. Вошел в одну комнату, там 4 молнии-луча вращаются по кругу. Враги сами об них убились. Вошел в следующую комнату, задом вернулся в первую с лучами, потом вернулся в комнату откуда начинается игра. Игра вылетела.
Сделай запись в лог все-таки. Или в случае краша ставь игру на паузу до нажатия ESC, чтобы можно было прочитать что записалось в консоль.
И раз уж ты используешь мышь, то игра должна захватывать курсор чтобы он случайно не вылез за границы окна. При потери фокуса игрой - ставь ее на паузу.
Вот чтобы все это не писать 50 раз, я и собрался писать статьи про разработку игры, которые потом, как всегда никто не будет читать. Мне уже надоедает во время тестирования каждому разработчику повторять одно и тоже.
Не понимаю как учителя и врачи не вешаются разным людям повторять одно и то же.
Запустил еще раз.
Кол-во оставшегося здоровья иногда сливается с фоном - выводи его с обводкой.
Подобрал пушку около стены, предыдущая выбросилась за ней. Как-то нелогично подбирать вещи по ПКМ с любого расстояния.
Некоторые пушки стреляют слишком уж недалеко.
Выбор предметов сверху лучше сделать цифрами 1-9 и подписать.
При пересечении двух стыков между комнатами опять вылет. Я так понимаю случается это когда за мной погнались собачки.
Запустил 3-ий раз, с собачками вылета не было.
Спасибо за найденный баг! попробую тоже его найти на досуге
Поиграл еще раз. Прошел довольно далеко, благодаря тому что нашел какую-то убер-пушку, которая косит всех. Баланс с пушками хромает - то находишь вот такую пушку, то какие-то пукалки, которые стреляют на 1 метр и почти не наносят урона.
При переходе между 2-мя комнатами игра не вылетела, а зависла на пару секунд.
В другом месте - уже вылетела.
Очень не хватает звуков. Сделай хотя бы пустые звуковые файлы с разными именами в папке sound и воспроизводи их. Я их заменю на подходящие.
И один пустой ogg/mp3, воспроизводимый как музыка.
настоящее тру инде!!!11
Выпустил fix-версию 0.31 для Windows:
- После потери фокуса окна картинка начинает сползать вправо, как будто рендеринг останавливается.
+ Игра теперь закрывается крестиком, Alt+F4, Закрыть.
+ Больше не вылетает.
* Надо бы балансить пушки, ослаблять слишком сильные и убирать совсем слабые. Начальный набор пушек тоже надо сделать рандомным.
Не хватает драйвовой музычки и звуков.
Первый раз вижу как после моих замечаний реально что-то правят.
Я тут подумал - а почему-бы не сделать как в Айзеке?
В новых комнатах заперты все двери кроме одной, через которую в нее можно войти.
Когда подходишь к центру новой комнаты (бонусы уже лежат), где вращается шар, он исчезает, запираются все открытые двери и сразу появляются враги. Пока их всех не убьешь - двери из комнаты не откроются.
Попробуй еще почаще оставлять гранаты, но уменьшить им урон и радиус взрыва.
Еще как-то нелогично ключи добавлять в список предметов вверху. Их же нельзя использовать! Что они тогда делают в списке используемых предметов? Правильнее их сделать отдельным списком, просто показывать какие ключи из всех созданных на карте нами собраны.
Поскольку типов бонусов очень мало (аптечка, апгрейд, патроны и еще редкие артефакты), я бы попробовал не ограничивать кол-во собранных бонусов, а просто писать сколько их собрали (иконка аптечки x 4). А уникальные одноразовые артефакты разрешать подбирать только один.
Еще было бы неплохо дать возможность носить с собой 2-3 пушки и переключаться между ними колесиком мыши.
На карте (M) плохо видно себя. Сделай большой жирный зеленый круг. Помечай проходы в комнаты где мы еще не были.
Вот возможность носить несколько пушек точно появится, сейчас думаю добавлять в игру стволы со свойствами, например, замедление противника на некоторое время - тогда можно будет делать комбо.
На счёт отсутствия ограничения на кол-во собранных бонусов - я вот когда делал эту игру думал о том, что вот в старых Doom'ах был прикольный момент, что там нужно было запоминать, где лежат аптечки и иногда к ним возвращаться обратно на уровне, чтобы полечиться, благо, размеры здесь не очень большие. Модель как в Айзеке сейчас в игре не будет работать, потому что у игрока могут закончиться патроны, а в комнате может не быть монстров, из которых они выпадают, а это как-то жестоко, такие ситуации допускать с игроком. Иногда можно, наверное, но не часто). За остальные замечания тоже спасибо, учту!
Можно и так. Сразу использовать любой подобранный бонус (кроме особых, типа ускорения и т. п.)
Сделай рукопашную атаку или замедление выстрелов в 3 раза.
Еще можно добавить игроку дефолтное слабое оружие с бесконечными патронами.
Вариантов много, их все уже перепробовали, изобретать велосипед не надо, нужно только выбрать наиболее подходящий.
Касательно заканчивающихся патронов, я у себя делаю систему, что оружие без патронов всё еще стреляет, но наносит только базовый (а то и уменьшенный) урон, и у него отключаются все апгрейды (самонаведение, рикошет и т.д.).
Но вообще мне нравится подход, когда из комнаты можно убежать, не сражаясь с врагами. Можно сделать двери, например, интерактивными или разбивающимися оружием.
Каким образом реализованы разные виды пуль и паттерны стрельбы у оружия?
А где варианты ответов?
У класса 'оружие' в конструкторе перегружается метод, создающий экземпляры различных классов пуль. Соответственно, разные классы пуль унаследованы от базового класса пули, и перегружают метод Tick, отвечающий за отрисовку пуль и их взаимодействие с картой, изменение скорости, направления движения и т.д. В движке пули одинаково обсчитываются.
А, подклассы, стало быть. Я от такого подхода отказался.
А как ты по-другому сделаешь?
Композиция. У пули есть массиц объектов, и в ее методе tick она вызывает их метод tick, который изменяет ее состояние.
Кстати, а кто-нибудь может мне по-проще рассказать что такое паттерны программирования и зачем они нужны?
Просто я не знаю ни одного и что это такое и как-то нормально без этого программирую.
Они представляют собой решения для часто возникающх проблем. Возможно, ты использовал некоторые из них, даже не подозревая об этом.
Какой кошмар! Надеюсь, меня за это не посадят?
Вот это почитай, тут автор собрал некоторые полезные для геймдева паттерны, без лишней устаревшей ерунды:
https://www.gameprogrammingpatterns.com/contents.html
Ну чо там, есть что-то новенькое? Обновлялы?
нового относительно много и рано или поздно новая версия выкатится..)
буду ждать и потом сыграю