Роглайк «Долго и трудно»

Добавлен , опубликован
Уже некоторое время пишу пошаговую 2д с видом сбоку.
В общем это что-то среднее между классическим роглайк и идеей террарии, в которые я добавил пару несложных фишек.
Одна из особенностей это развитие, жизнь мира. Пока игрок ходит, мир вокруг не ждёт его, а просчитывается, развивается и изменяется. Вторая особенность в том, что я делаю эту игру полностью настраиваемой через встроенный редактор. Вплоть до того, что игрок может на основе этого редактора создать свою игру, совсем другую.
Сам я ставлю идею "редактор в первую очередь" как основную. Потому что я подхожу с точки зрения разработчика. Если смотреть как игрок, то конечно разницы не так много. Прописано ли поведение существ в коде, или задаётся в редакторе, для игрока не так актуально.
Вот пара скринов на начало 15-го года.
Тут кадр из игры.
А вот тут кадры из редактора.
Это настройка поведения существ. Достаточно гибкая, в общем на ней можно писать полноценные программы, хоть и крохотные.
Тут общий экран редактора и начало настройки игровых существ.
Сейчас в игре сделано несколько типов основных сущностей. Ядро жизни это разумные подземные карлики, они честно ищут руду, добывают её, ищут и добывают доски, из которых строят различные здания. Куют оружие и доспехи, сражаются с враждебными существами.
И самое главное, злоумышляют Судный День. Они построят Машины судного дня, раньше или позже. А когда построят все пять, активируют их. Поэтому первая цель игрока создать себе убежище, в котором попытаться переждать коллапс мира, и выйти потом в мир новый.
Стоит добавить, что суть геймплея проекта достаточно точно соответствует названию. Весьма трудно, и достаточно долго.
Проект пишу на языке C++, поддерживается win-api либо sdl2-api, благодаря чему можно собирать как виндоус, так и нативную линукс версию. Основная всё таки виндовая, работу веду в среде code::blocks на компиляторах gcc, open watcom и borland си.
Скриншот исходников проекта.
Демку игры для теста я с радостью дам всем, кому это интересно. Но открыто выкладывать её пока не буду, игра слишком на ранней стадии.
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
Kozinaka, да прямо тут просто сказать. Ближайший стабильный билд планирую собрать через несколько дней, скину всем, кому это интересно.
Praytic, сам удивляюсь. Наверное, какой-то сбой на сайте, я ж их сюда залил, ссылки внутренние. Сейчас попробую по второму разу залить, не знаю, поможет ли.
14
sb3d, тогда впиши меня, пожалуйста.
Теперь я вижу картинки, до этого их не было.
Замерил весь *.h и *.cpp в Несыти, у меня 1,4 МБ. До трёх с половиной, как на скрине, ещё несколько лет обрастать. :)
14
По наличию честных расчетов всего игрового мира концепция напоминает Dwarf Fortress.
29
На самом деле файлы по 1.5мб кода только пугают...
Такого просто не должно быть. Нигде и никогда.
14
Doc, файлы исходников в 1,5 мб вряд ли бывают. :) Речь идёт о суммарном объёме всех исходников в проекте.
2
Локен, ок, когда будет стабильный билд вышлю.
GeneralElConsul, в точку. Ну наверное не продолжение, всё таки, а бледная копия уставшего человека. Будет всё попроще, однако идея в целом именно та.
Графон как видно сразу, не тот, и сущностей в разы меньше. Однако я надеюсь что могут найтись и плюсы по сравнению с той игрой.
Doc, ха, верно подметил. Но мир несовершенен, ещё и не такое бывает. На самом деле работать вполне удобно с таким большим файлом. Контрл+ф, вбиваю имя функции, энтер. Вот все неудобства.
2
Kozinaka, про то, напоминает ли дварф фортресс, сказать трудно.Во первых, дф настолько меня пугает, что я не более, чем смотрел по нему летсплеи. Не осмеливаясь пытаться освоить. Он чертовски пугает. Я хочу верить, что долготрудный так пугать не будет.
Сущностей будет на порядки меньше, всё по идее должно быть доступно для освоения за пару вечеров.
alexprey, нет, в классическом текстовом формате восемь бит на символ.
Я стараюсь писать код очень старательно, и по своим стандартам качественно. Поэтому обеспечиваю совместимость со многими старыми си компиляторами, которые не знали юникода.
14
sb3d:
Во первых, дф настолько меня пугает, что я не более, чем смотрел по нему летсплеи.
Аналогичный случай в нашем колхозе! :)
Кет:
там на скрине mgame.cpp 1,5 МБ.
Воистину! Они и вправду существуют!
У меня похожий процесс в проекте. На работе я делаю как положено - дроблю на функции, оборачиваю в объекты, а в домашнем проекте можно не думать о тех, кто будет читать код, и делать всё под себя. Я разделяю объекты/методы на части только тогда, когда они перестают умещаться в моей голове. А это сильно реже, чем требуется по этикету.
В итоге объектный подход потихоньку вырождается в процедурный. Есть большие жирные классы типа "Отрисовщик сцены", "Графический движок", "Игровой движок" внутри которых просто вызовы процедур-методов. Местами, конечно, есть наследование, иерархия и прочее, но только при необходимости. Не перед кем демонстрировать трушность ООП.
34
я тоже хочу потестить =)
очень интересно будет поиграть.
2
Kozinaka, код на скрине я начинал писать в ноябре 2012-ого, и там планировался простенький спрайтовый софтварный движок (vanilla rusk engine), чтобы делать маленькие игры. Потом и начал делать маленький проектик. В четыре файла: данные, сам редактор, главный цикл, и игры. И то мне казалось, ну зачем данные в отдельный файл?
Когда маленький проектик через год стал продавливать пол, грозясь под своим весом провалиться в ад, менять было уже поздно.
H, конечно.
14
sb3d, если учесть плотность, с которой ты пишешь код (я видел скрин на Геймдеве), то в этом 1,5 мегабайтном файлике должно быть несколько "Войн и Миров". Можно сделать шмап-скроллер, где нужно лететь по твоему исходнику, отстреливать комментарии и поедать операторы. :)
4
Тестаа требуют наши сердцаа. Оч интересно как будет играться. DF честно интересный но в нём надо вначале надо час разбираться.
2
I_D_, играться будет долго и трудно, в полном соответствии названию. Ну и немного пустовато, вот. Такая уж концепция. Для того говорю, чтобы завышенных ожиданий не было.
Как будет готов билд, в ближайшие дни, с радостью приглашу.
Kozinaka, заметную часть кода занимает поддержка идеи редактора. Ты же понимаешь, прописать в коде железно свойства монстра быстрее и короче, чем делать редактор для этих свойств, загрузку и выгрузку, и прочее. Прописывай я всё напрямую, када было бы в три раза меньше.
4
Только геймплей только хардкор :D, ну это по мне
29
У меня похожий процесс в проекте. На работе я делаю как положено - дроблю на функции, оборачиваю в объекты, а в домашнем проекте можно не думать о тех, кто будет читать код, и делать всё под себя. Я разделяю объекты/методы на части только тогда, когда они перестают умещаться в моей голове. А это сильно реже, чем требуется по этикету.
Я почему-то наоборот. Т.е. я везде стараюсь писать хороший код и лично своим горжусь, но на работе проект пишу не только я и часто рефакторить то, что написали другие просто нет возможности из-за отсутствия понимания или времени.
4
Шрифты кстати на скринах не очень на предпоследним risht вместо right получаеться и в событиях не очень разборчиво переходы. Хотя это может быть из-за уменьшения скринов?
2
везде стараюсь писать хороший код
Как-то недавно спорили с ребятами на тему того, какой же код "хороший". Надо мной посмеялись, конечно, и в общем правильно. Я ж самоучка, книг не читал и стандартов оформления и архитектуры не знаю.
Но сам я вот как думаю, что же такое хороший код.
а. Лёгкость и удобство модификации.
б. Безглючность.
в. Экономный расход ресурсов компа.
Вот почему то я уверен, что с этих точек зрения пишу хороший код.
Шрифты кстати на скринах не очень
Да лень просто перерисовывать. Ну и основные косяки в английском всё-таки, так что в самой игре их почти не будет. А русские буквы вроде норм.
risht вместо right
Там у шрифтов общая беда: нету этих ножек вниз, не знаю, как они у букв называются. Вот у таких: "друфцщ" должны по правилам ножки как-бы свисать ниже основного тела буквы. А этого не сделано, а переделывать сейчас это время отнимет, потому что там и в коде надо будет настроить кое-что.
15
"Годно и трудно", в общем проект выглядит весьма интересным, радует некая необъяснимая теплота, которая в нём-таки присутствует. Кип воркинг, вобщемта.
*Годно и нудно
25
некая необъяснимая теплота
Называется "ламповая".
Чтобы оставить комментарий, пожалуйста, войдите на сайт.