использование в текстах ссылок/переменных, вместо прямых имен/названий

Discussion in 'Идеи и предложения по игре' started by vxsw, Aug 23, 2016.

  1. vxsw

    vxsw Raider Golden Founder

    Joined:
    Feb 10, 2016
    Messages:
    1,726
    Likes Received:
    587
    Trophy Points:
    113
    суть в чем. текстовка растет. мир меняется и меняться будет. смена названий предметов/локаций/нпц и т.д. и т.п., все это нужно учитывать в текстовых частях. что квесты, что какие-то текстовые описания (записки/книжки). все это нужно учитывать. но если на начальных стадиях это отслеживается относительно легко, то с ростом объема текстов, это неизбежно начинает вызывать проблемы. примеры уже есть:
    https://pgenom.com/community/threads/Разночтение-при-описании-объектов.1237/
    и они будут. будут и очепятки. конечно, все это правится через систему багрепортов. но это тоже время. как время на отлов, так и на фикс. причем с ростом текстов, это время будет постоянно увеличиваться.
    всего этого, можно избежать, используя в качестве имен и названий, ссылки/переменные. такой подход частенько используется во многих играх с большими объемами текстов. в т.ч. и в пресловутой вовке.

    работает это относительно просто. разберу пример для наглядности.
    например, имеем квест вида:
    ревард:
    это видит игрок. на самом деле, квест хранится с таком виде:
    ревард:
    когда движок видит в тексте переменные (то что в %%), он отправляет запрос на сервер, или подставляет из локальной копии бд соответствующее значение.
    конкретно для этого примера, имеем:
    - в базе имен нпц (NPC), собственно непися с ид NPC2017 - "Вася"
    - в базе названий локаций (LOC), локацию с ид 1015 - "Розовое озеро"
    - в базе квестовых предметов (ITEMQ), предмет с ид 5639 - "Брутальный рыбоискатель"
    - в базе крафтовых предметов (ITEMC), предмет с ид 8715 - "Уха из розовой селедки"
    - в базе рецептов (ITEMR), рецепт с ид 8715 - "Рецепт: Уха из розовой селедки"

    каждое название в каждой базе, имеет написания как в единственном/множественном числе, таки и во всех падежах.
    переменная, строится по принципу:
    Code:
    [База][ИД]_[Ч][П]
    где:
    База - имя бд
    ИД - ид имени
    Ч - индекс используемого числа (0 - единственное; 1 - множественное)
    П - индекс падежа (0 - именительный;1 - родительный; 2 - дательный; 3 - винительный; 4 - творительный; 5 - предложный)

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


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

    вот как-то так Drag_man543
     
  2. Kortic

    Kortic Wanderer Silver Founder

    Joined:
    Dec 10, 2015
    Messages:
    576
    Likes Received:
    171
    Trophy Points:
    43
    А как падежи учитывать? Чтобы не было что то вроде. "Был я вчера у Вася Пупкин".
     
  3. vxsw

    vxsw Raider Golden Founder

    Joined:
    Feb 10, 2016
    Messages:
    1,726
    Likes Received:
    587
    Trophy Points:
    113
    эм...
     
  4. Kortic

    Kortic Wanderer Silver Founder

    Joined:
    Dec 10, 2015
    Messages:
    576
    Likes Received:
    171
    Trophy Points:
    43
    ну просто с падежами не все так просто, нету такого, чтобы у каждого падежа было единственно верное окончание. Возможно поэтому в той же ВОВке при указании имена перса уточняют падежи. Например кому Вас[е], но Владислав[у]. И в случае Васи меняем последнию букву, а у Владислава добавляем. Вообще конечно это все решаемо. Но затраты будут серьезными.

    А в дополнение к предложению было бы круто сделать систему ссылок прямо в тексте. Как в том же Моровинде, говорят сходи в ту локацию, жмем на название локации прямо в тексте квеста, и персонаж можно кратенько описать как туда можно добраться. Хотя тоже спорно надо ли это.
     
  5. vxsw

    vxsw Raider Golden Founder

    Joined:
    Feb 10, 2016
    Messages:
    1,726
    Likes Received:
    587
    Trophy Points:
    113
    "вася" и "владислав" это разные ид Bye_man9877
    => и поля падежей у них будут разные.
     
  6. Kortic

    Kortic Wanderer Silver Founder

    Joined:
    Dec 10, 2015
    Messages:
    576
    Likes Received:
    171
    Trophy Points:
    43
    в принципе да все решаемо. Для каждого id при добавлении в базу обязательно указывать все падежи и множ. един. числа. И точно так же при создании персонажа. На самом деле не так страшен черт, как я представлял на первый взгляд.
     
  7. vxsw

    vxsw Raider Golden Founder

    Joined:
    Feb 10, 2016
    Messages:
    1,726
    Likes Received:
    587
    Trophy Points:
    113
    ок. для уточнения.
    таблица падежей для васи (ед.ч.):
    0 - Вася
    1 - Васи
    2 - Васе
    3 - Васю
    4 - Васей
    5 - Васе
    таблица падежей для владислава (ед.ч.):
    0 - Владислав
    1 - Владислава
    2 - Владиславу
    3 - Владислава
    4 - Владиславом
    5 - Владиславе

    то-же самое и для множественных чисел.

    -----------------------------------
    успел до меня написать))
    воооот))
     
  8. BusengA

    BusengA ЗАБАНЕН Golden Founder

    Joined:
    Jul 1, 2016
    Messages:
    159
    Likes Received:
    27
    Trophy Points:
    28
    Та я бы вообще не парился по этому поводу, есть жи перспективные разработки на эту тему)
    Генератор стихов

    Однажды Вася елки палки ехал задом на скакалке
    И при этом рыбу ел а змея его шипел
    Я болею типичным недугом провинциалки:
    И атлантики воздух так враз потемнел,
    )
     
  9. Kortic

    Kortic Wanderer Silver Founder

    Joined:
    Dec 10, 2015
    Messages:
    576
    Likes Received:
    171
    Trophy Points:
    43
    бррр...."а змея его шипел"...такое в квестах читать, да ну нафиг
     
    vxsw likes this.
  10. faqir

    faqir Inquisitive Founder

    Joined:
    Aug 21, 2015
    Messages:
    42
    Likes Received:
    5
    Trophy Points:
    18
    когда занимался модами для одной игры, старался юзать только такие переменные, удобно, дабы не париться с локализацией на другие языки
     
  11. BusengA

    BusengA ЗАБАНЕН Golden Founder

    Joined:
    Jul 1, 2016
    Messages:
    159
    Likes Received:
    27
    Trophy Points:
    28
    Змей боишься?)
     
  12. Kortic

    Kortic Wanderer Silver Founder

    Joined:
    Dec 10, 2015
    Messages:
    576
    Likes Received:
    171
    Trophy Points:
    43
    меня коробит когда фразы звучат не по русски "змея его шипел[a]".
     
    vxsw likes this.
  13. BusengA

    BusengA ЗАБАНЕН Golden Founder

    Joined:
    Jul 1, 2016
    Messages:
    159
    Likes Received:
    27
    Trophy Points:
    28
    Ну тогда держи)

    -Дэвушка, на вам сидит большой зеленый мухм
    -Не на вам, а на вас
    -На мню?
    -Не на мню, а на мне
    -Опять на тебю? вах какой шустрый мух)
     
  14. Kortic

    Kortic Wanderer Silver Founder

    Joined:
    Dec 10, 2015
    Messages:
    576
    Likes Received:
    171
    Trophy Points:
    43
    хорош оффтопить. ))
     
  15. tsopov86

    tsopov86 Бумажкомаратель Staff Member

    Joined:
    Jun 29, 2015
    Messages:
    235
    Likes Received:
    216
    Trophy Points:
    53
    Прошу прощения, но не смог удержаться.
    анекдот на эту тему)))))

    Одна подруга жалуется другой:
    - У меня муж алкоголик. Я уже так от него устала. Что мне делать?
    Та ей отвечает:
    - Да, у меня была такая проблема. Ты попробуй сделать так: когда муж пьяным придет и ляжет спать, ты ему в штаны положи змею. Он увидит ее, подумает, что началась белая горячка, и пить перестанет.
    Ну первая так и сделала. На следующее утро мужик просыпается, идет в туалет, достает из штанов змею, она ему:
    - Шшш-ш-ш-ш...
    Мужик:
    - Я тебе дам шшшш, писай давай!!!
     
    vxsw likes this.
  16. vxsw

    vxsw Raider Golden Founder

    Joined:
    Feb 10, 2016
    Messages:
    1,726
    Likes Received:
    587
    Trophy Points:
    113
    пописала? Smile3_man
     

Share This Page