Приветствую, хабравчане!

Начал создавать игру‑РПГ на гугл‑таблицах. Это своего рода планировщик, но с РПГ‑составляющей. Таких приложений полно в плеймаркете, однако мне всегда хотелось создать что‑то свое, для себя. Данный текст — рефлексия, которая, надеюсь поможет мне не запутаться с собственных идеях :-)

В планах создать для персонажа целый мир, который он будет исследовать, в котором будет сражаться с опасными противниками, знакомиться с новыми персонажами. Но это еще очень далеко)

Важное вступление

Предупрежу матерых разрабов. Я — гуманитарий. Для меня создание этой игры — своего рода полезный отдых, который провожу по принципу «лучший отдых — это смена деятельности». Ковыряюсь в свободное время на работе, дома, в метро. Сильно не пинайте, а если моя история покажется интересной — посоветуйте чего‑нибудь полезного)

Если я что‑то называю «сложным» — просьба попридержать тапок свободной рукой) Не забываем, что у меня гуманитарный мозг — многие, казалось бы простые вещи мне нелегко держать в голове, некоторые моменты вызывают трудности для понимания.

Рабочее название игры — ЭВЕО (энргия, вода, еда, опыт)

Почему гугл‑таблицы

Таблицы всегда под рукой и не нужно отвлекаться на интерфейс. Можно добавлять функционал хоть в метро прямо с телефона.

Признаюсь, немного могу в веб‑разработку (PHP, HTML/CSS, JS). Этот вариант не очень удобный — нужно создавать определенные условия (локальный хостинг, базу данных и тд), чтобы работать. Другими языками для разработки, как бы мне не хотелось, я не владею. Опять же, чтобы просто приступить к реализации, мне нужно сначала создать хотя бы простенький интерфейс, а мне не хочется отвлекаться на это.

Структура

Первым делом решил подумать над тем, как у меня будет устроена игра. Опыт создания сложных систем (делал в таблицах калькулятор для контроля семейного бюджета) мне подсказывал, что нельзя все расчеты сбрасывать в одну кучу, ставить формулы в рандомных местах. Я быстро запутаюсь, и игра быстро сломается.

Моя гугл‑таблица содержит несколько листов:

«БД» — туда я вручную забиваю свойства и их параметры.

Красным выделил показатели, которые будут участвовать в уменьшении параметров персонажа, зеленым — в увеличении. В красных ячейках, хотел сначала указывать отрицательные значения. Но в процессе расчетов поймал себя на том, что начал путаться со знаками, и вместо траты ресурсов получал их рост. Поэтому решил применить цветовую дифференциацию)

«Календарь» — здесь происходит связь игры с реальностью: сколько дел из списка нужно выполнить за день, сколько сделал в итоге, еда, прогулка, чтение, сон, и тд.

«Движок.Перс» — сюда подтягиваю данные из «БД» и «Календарь». Здесь же проводятся расчеты.

«Перс» — сюда транслируются результаты расчетов: насколько персонаж голоден, испытывает жажду, сколько энергии.

Дисбаланс показателей пока некорректный. Герой может быть сытым на 200% - а это не правильно. Планирую установить лимит 100 на ЭВЕ, край - 120.
Дисбаланс показателей пока некорректный. Герой может быть сытым на 200% - а это не правильно. Планирую установить лимит 100 на ЭВЕ, край - 120.

Таким образом связь между листами работает таким образом:

«Движок» подтягивает данные из «БД» и «Календаря». Из «движка» данные отправляются в «Персонаж»

В настоящий момент для меня это максимально удобная структура. Все расчеты я провожу в определенном месте, все параметры того или иного параметра — в другом. Если что‑то ломается — я быстро ориентируюсь, где это произошло. «БД» помогает следить за балансом.

Что пока умеет персонаж

Персонаж пока умеет голодать, испытывать голод, копить и тратить энергию. А еще копит опыт — на будущее.

Персонаж перманентно испытывает голод/жажду каждый час.

Умеет пить, есть, выполнять задания: обыденные, нестандартные, и не непонятные. За каждое выполнение он тратит энергию, голодает и испытывает жажду.

Умеет спать. Пока спит — восстанавливает энерг/час, тратит еду/час и воду/час.

Умеет делать полезные дела «в вакууме»: гулять, работать «работу», читать, разрабатывать игры. За это он тратит Э/В/Е и получает опыт.

Особенности «движка»

Список «переменных»

Кажется, такое я видел в OpenCart, но могу ошибаться. В движок я сначала вывожу все «переменные», которые подтягиваются из «БД» (по сути — дублирую) и «Календарь»:

переменные:

В расчетах я ссылаюсь уже на этот список, не выходя за пределы листа:

В настоящий момент мне так удобно. Мне не надо держать в уме, какая ячейка на что ссылается. Очень удобно добавлять новые возможности персонажа.

Расчеты провожу максимально простые, с простыми формулами. Использую «коэффициент» качества — отношение выполненных и запланированных задач — который влияет на количество полученного опыта.

Конечный результат округляю, потому что цифры после запятой мне не очень нужны.

Средние значения или последняя запись в календаре?

Примечательно, что из «Календаря» я беру именно средние значения «по больнице», а не из последней записи. По двум причинам:

  1. В определенный момент я просто забыл о том, что существуют способы взять данные из последней записи таблицы.

  2. Игра не подразумевает какую‑то динамику. Мне не важно, что герой делает в текущий момент. Мне важно знать о среднем состоянии героя.

Дальнейшие планы

В ближайшем будущем планирую сделать характеристика персонажа более обширными:

  • полезные привычки

  • плохие привычки

  • болезни

  • моральное состояние

  • здоровье

Эти показатели буду добавлять в календаре, они будут зависеть на потребление еды/воды и расход энергии.

Далее по плану — добавить валюту, возможность ходить. Эти показатели понадобятся, когда вокруг персонажа начнут образовываться город и локации.

Спасибо за внимание :-) По мере появления времени буду продолжать писать.

Комментарии (34)


  1. anzay911
    28.06.2023 16:11

    Если не выполнять задания, количество доступной еды и воды не восполняется.


    1. AlexLive27 Автор
      28.06.2023 16:11

      Не восполняется и уходит в перманентный минус. Предела отрицательных показателей пока не придумал(


  1. ris58h
    28.06.2023 16:11
    +5

    Напрашивается хаб Ненормальное программирование.

    Признаюсь, немного могу в веб‑разработку (PHP, HTML/CSS, JS). Этот
    вариант не очень удобный — нужно создавать определенные условия
    (локальный хостинг, базу данных и тд), чтобы работать.

    У Google Sheets есть API - можно "движок" оставить в таблицах, а интерфейс, например, в виде web-приложения сделать.


    1. AlexLive27 Автор
      28.06.2023 16:11

      Спасибо, хаб уже в закладках. Думал о том, как бы мне позже на всю эту таблицу натянуть интерфейс. За совет спасибо.


      1. ErshoffPeter
        28.06.2023 16:11

        А можно и голосовой интерфейс, например, через Алису, прикрутить... ????


        1. AlexLive27 Автор
          28.06.2023 16:11

          Что-то на магическом вы сказал написали ???? не могу представить, что это. Можете чуть подробнее?


          1. ErshoffPeter
            28.06.2023 16:11

            Грубо говоря - запихнуть в Яндекс. Станцию или подружить с Алисой.


            1. AlexLive27 Автор
              28.06.2023 16:11

              Интересная затея) Думаю, игра окажется привязанной к дому, где станция стоит, и это сильно скажется на удобстве.


              1. ErshoffPeter
                28.06.2023 16:11

                Короче, если интересно, то можем попробовать - пиши в личку, соорганизуемся, я как раз первые шаги в навыках для Алисы делаю.


  1. hub
    28.06.2023 16:11

    Если честно, заглянул из-за заголовка. Если RPG - это Role Play Game, то РПГ... ну, я думаю, вы и сами знаете, что может означать РПГ. :)


    1. AlexLive27 Автор
      28.06.2023 16:11

      Не знаю, но пока ничего приличного на ум не приходит :] заголовок и текст поправлю


      1. hub
        28.06.2023 16:11
        +1

        Счастливый вы человек!


        1. AlexLive27 Автор
          28.06.2023 16:11

          Чую тонкий троллинг )) ценю)


  1. saboteur_kiev
    28.06.2023 16:11
    +5

    Я понимаю, что гуманитарий, но все-таки role-play-game подразумевает наличие разных ролей, в классическом понимании хотя бы вор-маг-воин.
    А у вас только поесть/попить...

    А вообще, возьмите любой Dungeon Master Playbook, почитайте и посмотрите что там есть


    1. AlexLive27 Автор
      28.06.2023 16:11

      Спасибо, с жанровым направлением определюсь точнее, почитаю. Ест/пьет он у меня потому, что только развивается. В дальнейшем будет больше функционала и характеристик - ходить скоро начнёт:). Магической составляющей не планирую.

      У меня есть определённые вдохновители, не стал ими загружать этот текст - расскажу позже.


      1. GavriKos
        28.06.2023 16:11
        +1

        Не, суть в том что RPG подразумевает отыгрыш роли - т.е. создание персонажа с такими способностями и характером, какой хочется игроку (в рамках системы конечно), и с вытекающей из этого моделью поведения. А есть-пить-писать-какать - это сим.


        1. AlexLive27 Автор
          28.06.2023 16:11

          Понял, спасибо. В следующих публикациях учту.


        1. AlexLive27 Автор
          28.06.2023 16:11

          У меня подразумевается прокачка навыков в ближайшем будущем - а это, насколько понимаю, как раз RPG-составляющие. Поэтому и называю свою задумку именно так. А вообще да, вы правы, в большей степени у меня получается симулятор.


          1. GavriKos
            28.06.2023 16:11

            Про прокачку навыков - очень холиварный момент ) Они являются составляющими РПГ, да. Но без возможности отыгрывать роль - т.е. вести себя так как хочешь (или хотя бы в соответствии с навыками) - это не РПГ )


            1. AlexLive27 Автор
              28.06.2023 16:11

              Согласен)) Это тема скорее для разговора под кружку пятничного чайка)


          1. saboteur_kiev
            28.06.2023 16:11
            +1

            Для того, чтобы отыгрывать роль, должна быть возможность прокачивать разные навыки, специализируясь в определенной роли.

            Если нет даже выбора какие качать, какие не качать, это не совсем ролевая игра, та как все будут качаться одинаково "идеально" и распределения по ролям не будет.
            Опять же классический вариант - вор, воин, маг.
            Эльф, гном, человек, орк.
            Стрелок, рукопашник, медик
            Разведчик, пехота, авиация.


  1. dark991
    28.06.2023 16:11
    +1

    Если приделать окружение, реализовать минимальный набор действий, сделать пару квестов - аля поход в магазин (с ходу - проснуться, позавтракать, выйти в магаз, купить продукты, вернуться к подъезду, взломать домофон т.к. ключи забыл и т.п.) и описать модель прокачки с несколькими скиллами - то в целом, можешь претендовать на роль начинающего геймдизайнера) успехов тебе, хотелось бы чтобы такой твой труд не был бесполезен для тебя самого ;)


    1. AlexLive27 Автор
      28.06.2023 16:11

      Спасибо за поддержку и советы) Примерно такой реализации и хочу добиться. Планов много, на самом деле, главное сейчас - последовательность.


  1. ildarin
    28.06.2023 16:11

    Открываем форточку)

    Те, кто называют себя гуманитариями - ими не являются. На словах - все гуманитарии, а как начнешь общаться по философии, лингвистике, психологии или политологии - как воды в рот набрали.

    Гуманитарий != "не технарь", истинный гуманитарий должен знать значение этого слова) А вот "любитель" = "не профессионал". С одной стороны - все все конечно поняли, а с другой - это ошибка. Слово "гуманитарий" становится синонимом слова глупый, а глупость - нормой. И это прискорбно.

    К тому же любой человек, который занимается техническими разработками, независимо от уровня исполнения - может называть себя инженером, хоть и любителем, т.е. технарь. Ведь ИТ - это техническая наука.


    1. AlexLive27 Автор
      28.06.2023 16:11

      Оставь форточку в покое, все норм)

      Согласен) Однако у меня есть "наработки", доказывающие обратное)) Разница между Г и Т, как мне кажется, в методах анализа и подходах к задаче - ввиду разницы профессий. Вот я, например, пытаюсь представить структуру отдельно взятого модуля или игры в целом, а потом повторяю в таблице. Если не получается - представляю еще раз. С техническим складом ума люди думают иначе и соответствующие задачи решают быстрее и успешнее - всегда это поражало)


      1. ildarin
        28.06.2023 16:11

        Все эти псевдонаучные психологические теории: о Гиппократовских темпераментах, полярных типах мышления (правое полушарие за логику/левое за творчество; интроверсия/экстраверсия и пр.) - несостоятельны. Они идут корнем из советского образования, усугубленное упадком образования РФ. Можно погуглить "как программист учителем работал" - я там изучал как обстоят дела.

        Почему нет гуманитарного/технического мышления? Ну, например, я умею играть на струнных/клавишных и духовых инструментах, могу (нотами) написать музыкальную композицию, шарю за философию и т.д. При этом разрабатываю игры и ЯП, пишу технические статьи про всякий матан. Гуманитарий я, или технарь? Это вопрос не о "внутренней врожденном свойстве души", это вопрос знаний, навыков и достижений в той или иной сфере.

        Вот я, например, пытаюсь представить структуру отдельно взятого модуля или игры в целом, а потом повторяю в таблице. Если не получается - представляю еще раз. С техническим складом ума люди думают иначе и соответствующие задачи решают быстрее и успешнее - всегда это поражало)

        Есть различные подходы к решению разных задач. Например - метод декомпозиции, о чем писал еще Рене Декарт. Философ, гуманитарий. Или Ноам Хомский - тоже гуманитарий. Они имеют право так называться, так как они показали престижные результаты в гуманитарных науках.

        Успешнее решают задачи те люди, которые эффективно применяют удачные инструменты для решения своих задач. Например, хороший оратор не будет злиться на оскорбления, какими бы они не были. А ужасный оратор - весь покраснеет, начнет орать и полезет в драку. И разница не в "типе мышления", а в знаниях и навыках. Это не полярное: "я плох в этом, значит хорош в другом". Это про уровень развития. Например, в когнитивистике (гуманитарная наука).

        В быту - да, гуманитариями называют себя все подряд. Но настоящий гуманитарий знает хотя бы, что слово "гуманитарий" действительно означает (от homo, гуманно, гоминиды, гомогенный, гомосексуал). Нет никакого "гуманитарного склада ума", то же самое, что и вера в астрологов, знахарок, гадалок, призраков и прочив духов.

        Человек услышал слово в контексте, а затем - повторяет как попугай в схожих контекстах. А что само слово значит - не понимает. Это по классификации наук Кедрова. Как раз филологи (гуманитарии) и изучают этимологию этого слова.

        Или у Вас есть иные доводы по вопросу филологической принадлежности слова "гуманитарий", мсьё "гуманитарий"? ????


        1. AlexLive27 Автор
          28.06.2023 16:11

          Очень интересно вы про меня рассказываете. Вы так отчаянно терзаете гуманитариев, которые считают себя гуманитариями. А что вы думаете о технарях, которые считают себя технарям?)


          1. ildarin
            28.06.2023 16:11

            А что вы думаете о технарях, которые считают себя технарям?)

            Зависит от контекста, конечно же. Как минимум, один человек, который мнил себя Наполеоном - был прав)

            Очень интересно вы про меня рассказываете. Вы так отчаянно терзаете гуманитариев, которые считают себя гуманитариями.

            Спасибо, я старался) Я рассуждал о человеках и попугаях в общем, тогда нужно уточнить: Вы - специалист гуманитарных наук, или Вы называете себя гуманитарием, при этом не являясь им? Или что-то другое?


            1. AlexLive27 Автор
              28.06.2023 16:11

              Тот есть технари могут быть технарями (зависит от контекста, конечно), а гуманитарии - это предвзятость и стереотипное мышление? При этом гуманитарии сами не понимают, что говорят? При этом, что гуманитариев не существует вообще? А теперь спрашиваете какой специальности я гуманитарий? Кажется, вы запутались))


              1. AlexLive27 Автор
                28.06.2023 16:11

                Вот чтобы самому так не путаться, я и сочиняю эту игру. Это интересно, помогает систематизировать знания и жизненный опыт.

                Вы правильно сказали, все зависит от контекста. В данном случае термин гуманитарий я применил для простоты понимания и элементарно вежливо познакомиться с новой аудиторией. Если вы читали не только заголовок и превью, то должны были увидеть, что в начале я расставил чёткие границы, чтобы пользователи понимали, с каким автором они сейчас знакомятся, сформулировали определённые ожидания. Очень рад, что большинство пользователей это увидели и почувствовали. И очень странно, что вы с богатым опытом и багажом знаний этого не увидели. Следовательно, делаю вывод, что дальше заголовка вы не читали.

                Читайте глубже и вникайте в контекст.


                1. ildarin
                  28.06.2023 16:11

                  Молодец! Это радует, что люди в качестве хобби выбирают себе такие увлечения.

                  Но это интернет, у меня в карме было 22 из 57 оценок, а сейчас - 23 из 77) Я увлекаюсь математикой, и вот можно посчитать, что рейтинг у меня ((77-23)/2+23)/77=64% при абсолютной силе рейтинга 77 (для нормализации нужны данные). И это при том, что все публикации - плюсовые, как и комменты в основном. Вообще, можно было бы податамайнить и статистику нарисовать, иногда даже такие статьи появляются и это интересно изучать) Но по сути - при положительном вкладе в ресурсы сервиса - мне почти половина народу в карму минусы кидает)

                  Даже у @ris58h 50/90, ((90-50)/2+50)/90=77%, а он аж 22 публикации сделал. И классика: @Mithgol 94/1776 ???? Считать лень, но там около 51%, меньше, чем у меня, даже.

                  Всегда найдется человек, что слова заденут. Всегда найдутся слова, что заденут тебя. Но всякому разговору свое время.


              1. ildarin
                28.06.2023 16:11

                Кажется, вы запутались))

                Проекция - она такая, ага) Ща объясню)

                Тот есть технари могут быть технарями (зависит от контекста, конечно), а гуманитарии - это предвзятость и стереотипное мышление? 

                Нет. И то и то зависит от контекста. Был ли случай, что кто-то пишет комментарий о политике и добавляет - "я технарь, если что"? Честно говоря - я не припомню ни одного.

                А этого - навалом.
                А этого - навалом.

                Первая попавшаяся статья в гугл.

                Бывает и хуже: последние годы «гуманитариями» корректно называют тех, кто, отсидев 10 лет в школе, не может посчитать площадь квадрата и не помнит таблицу умножения. Как правило, это обычные лентяи. Но слово «лентяй» обидное, а «гуманитарий» – нет.

                Вот я и спрашиваю, в каком смысле Вы добавили это в статью "И да: я - гуманитарий :-)" В смысле - "Я тупой" или в смысле - "Я рассматриваю задачу с точки зрения некой гуманитарной науки"? В статье о педагогике, социальной и политической ситуации, я написал что я - программист (технарь по направлению ИТ) Именно по причине №2, т.к. описывал ИТ решения в области.


                1. AlexLive27 Автор
                  28.06.2023 16:11

                  Ещё раз, в третий раз. Все ответы - в статье и моих комментариях выше. Читайте, знакомьтесь, прекращайте выставлять себя в дурном свете.

                  Кажется, вы погрязли в войне с ветряными мельницами, в довесок пытаетесь втянуть туда и меня. Бесполезное обсуждение не по теме завершаю.


                  1. ildarin
                    28.06.2023 16:11

                    Возможно, неверно трактовал - уточняю. При этом - раскрываю точку зрения. Сразу сказал - будет душно) Ибо я своего рода философ. И как любой гуманитарий - не могу не докопаться до правильного написания слов)

                    Надеюсь между нами нет конфликта, я не преследовал целью оскорбить или унизить, просто хочу рефлексировать эту тему. Может что-то и не так написал, это не претензия лично к Вам, я - технарь, если что) И, видимо, я не одинок, раз это мало кто замечает. Ну - или я ошибаюсь в своих суждениях, я рад ошибиться.

                    В жизни сталкиваюсь с тем, что люди не правильно понимают те слова, которые говорят и пишут. Говорят - логично. Спрашиваю - что это значит, что такое логика? Не знают. Но как тогда человек понимает это слово? Понимает как синоним слова "правильно". Но это не одно и то же, логика - идеальна, а право - субъективно. (Тут могли быть сотни слов на тему лингвистики и философии =)

                    Человек пишет: "Я - гуманитарий". Но что он понимает под этим? Это должны быть слова гордости, а не самоуничижения.

                    Не забываем, что у меня гуманитарный мозг — многие, казалось бы простые вещи мне нелегко держать в голове, некоторые моменты вызывают трудности для понимания.

                    Нельзя так говорить. Это завуалированное от самого себя самоуничижение. Специалист по психологии такое сразу видит на опыте. Все мы умные и все мы тупые - и каждый по своему, но стыдиться этого точно не стоит. Будь мы умными - разве занимались бы мы переписками в интернете субботним летним днем?)

                    Так же, как и любого гуманитария бомбит от "одел", а не "надел", меня бомбануло от употребления слова "гуманитарий" в некорректном смысле ????. Если бы это только один человек так сделал - я бы и глазом не повел, но накипело.