Как только узнал, что добавили инвайты в ХФ, то ринулся тестировать и добавлять функции по инвайтам в свою питон либу. Всё норм. А теперь мозговой шторм на игровом поприще с использованием инвайтов.
Уже пару лет так или иначе нарабатываю различные игровые движки на блокчейне голос. Наработки есть, а готового релиза нет, ибо всегда есть какие-то шероховатости, которые меня печалят. На данный момент начал прорабатывать очередной свой игровой виток, но уже через инвайты, как основной элемент игры.
Первая моя и основная проблема, что не могу ваять игру в которых игроки играют сами с собой. Хоть сейчас плотно сижу на стиммонстрах, но их опыт никак не смогу переложить на голос. А тяга к карточным играм остается. Поэтому мои мысли лежат в плоскости "массовки", когда все играют против всех. (вариант когда игрок играет против блокчейна уже не особо рассматриваю, так как было казино на голосе, аля рулетка... ну не лотерею же делать).
Наработки были с самого начала, когда была Звезда Смерти. Принцип простой, раз в период Звезда смерти жахает по избранному кораблю и так пока всех не перебьет, победитель тот кто остался в живых после мясорубки. И мне еще тогда НЕ нравился тот рандом который необходимо было реализовывать и главное чтобы было по чесноку. Чуть позже, когда изучал дайсы, то разобрался как сейчас принято релизить ГСЧ на хешах блокчейнов (и не только) и сделал потом Шоттс (на визе). По мотивам пиковой дамы Пушкина, игроки делают ставки по нарастающей и его высочество рандом рещает кто продул... единственно я просто расширил игру не для двух игроков как в оригинале, а на N. Немного поиграли, пару стратегий придумали ииии забыли. Так сложилось, что криптоигрохомячки привыкли играть и получать бабло, под девизом мол мы тратим время, поэтому давайте нам халяву и этот момент для меня был диким, ибо играя в монстры, где надо вкладываться и достаточно нехило, чтобы иметь достойный поток бабла. Но у монстров маркетинг огогого, тогда как остальным криптоигры просто раздают бабло с исо первым постоянным игрокам... а потом скамятся в хлам (когда бабло кончается).
В итоге у меня получается две наработки... все играют против всех и раз в период что-то происходит со стороны блокчейна.
Далее у меня был теоретический период игры АмаВизония... где была попытка представить инвайт-хеш как карту (по мотивам тех же монстров), но тут уже сам игрок майнит такие карты (тогда как в монстрах карты генерируют отцы основатели). И такая карта хранится в стейте (что ужасно для меня) и потом играется... и тут немного застрял, так как в таком случае, если игрок САМ генерирует карту, то и карта становится одноразовая... так что третья наработка - это одноразовые ККИ... видимо уже КИ, ибо что коллекционировать-то )))
На практике этот алгоритм реализовал на голосе, когда сам посредством придуманных смартконтрактов кастомов генерировал карты желающим... По сути протестировал четвертую свою наработку - в ее основе лежит наложение приватного и публичного ключей друг на друга и там где совпадают числа или буквы и есть некая способность/особенность карты.
А теперь пора приступить к работе над пятой "наработкой". Все-таки потопаем по пути Эволюции, благо что до этого Вано меня терроризировал криптоигрой с жуками, плюс сейчас мы на карантине по ковиду... да и гены, мутации... что-то в этом есть, так что рожаем )))
Итак... в основе лежит инвайт, который генерируется юнитом, а потом клеймится на основной игровой аккаунт. По сути мы имеем пару приватного и публичного ключа. Это и есть "мутация"... стартовая... У организма появляются некие свойства... защита там атака, энергия... как фантазия. Токены которые в самом инвайте это стартовая жизнь/хиты бла бла бла. Далее происходит цикл... мы берем публичный ключ без префикса (чтобы была совместимость на других графенблокчейнах), прибавляем логин аккаунта и генерируем новую пару приватного и публичного ключа... мутация кароч в гене. Новые абилки, релиз пифпаф. И так повторяется пока не сдохнем. В процессе игры организм атакует другие организмы, тем самым уничтожая их жизни и превращая их в общаг... по сути корм для всех остальных... далее нужно этот корм как то сожрать и перевести в баланс зиготы... так сказать неприкосновенный баланс... и тогда когда организм сдохнет, то содержимое зиготы (а там же токены выбитые их остальных) попадает на счет игрока... условно зашел с геном-инвайтом на 100 монет, а вышел на 200 и более... это если геном сильный. При этом как вы видите, условия генерации новых мутаций легко просчитываются и вы можете заранее до мясорубки проанализировать к чему может привести ваш исходный инвайт-код.
То есть по токенам такой природный круговорот... изначально ваш баланс будут трепать и вы будете терять его, а потом потерянное отбивать уже в неприкосновенный счет.
Далее поговорим о абилках мутаций. Тут решил упростить так упростить. Если совпало число... к примеру 8 то это энергия (она кстати суммируется из райнда в раунд если не потратили), если совпала большая буква... к примеру F, то значит идет атака на всех огненной атакой (fire) и если других букв нет, то бьем всех огнем на 8 единиц. Если же совпада еще маленькая буква f - то значит у нас появится устойчивость к огню... типа броня. но так как всего энергии 8, то данный тип мутации дал организму атаку на всех на 4 и броню от огня на 4 единицы... условно если кто-то фигачит огнем на 7... то ваш урон будет 7-4=3. А если никто не шарахнул огнем, то ваша броня +4 к огню переходит на след раунд.
Видимо логично что W и w - это магия воды. Допустим мутация после наложения хешей получилась вот такая
5W6f123F
Первым делом мы суммируем энергию 5+6+1+2+3=17, далее определяем порядок абилок
W-f-F атака водой, броня к огню, атака огнем и распределяем энергию в равной степени между абилками.
W5-f5-F5 и остается еще две энергии, которые распределяются последовательно, итого имеем
W6-f6-F5 - таким образом наша мутация бьет всех водой на 6, огнем на 5 и дает нам защиту от огня на +6. Если буквы повторяются, то принцип тот же, просто этой абилке достанется больше энергии чем остальным.
FFW345 => F4-F4-W4 => F8-W4 - думаю пример понятен.
Следующий момент... видимо шестая наработка в том, что раз у нас эволюция, то могут быть и колонии. Как минимум игрок может запустить на поле еще один организм с иным геномом. И как члены колонии они делают все то же самое, только их атаки друг на друга не действуют, а защита НЕ объединяется. (хотя вполне можно "придумать" абилку именно под колонии, единственно что она будет разовой и не накапливаться). А раз есть колонии... то почему бы не иметь мутацию связанную с делением? равно как и воздействием такием на организмы извне. Один хеш оставляем мутировать как обычно публичный ключ + логин... а вот второй будет публичный ключ + логин + double. При этом баланс будет делится пополам с округлением вниз. Так что если мутация поделиться придется на тот момент когда у организма один хит, то это смерть... условно силенок не хватило на такой сложный процесс ))).
В текущем описании игра так сказать "минусовая" для организатора. Для привлечения внимания придется заводить на баланс доп токены, чтобы было за что сражаться и нет никакого смысла брать комиссию с инвайтов. Это чисто усложнит парсинг игрового состояния со стороны сторонних сервисов (если вдруг кто то захочет визуализировать как друг друга жрут голосята в режиме реалтайм). НО рано или поздо придет желание активно вмешиваться в игру... оно изначально было, так как блокчейн (и у монстров в том числе) имеет недостаток, раз выставил карты и все... на последующие события ты можешь тока смотреть. Тогда надо будет использовать платные боевые инвайты. Разряжая их, вы тратите баланс в никуда (по сути это и будет комсой), но при этом абилки инвайта одноразово действуют на остальных... хотя... если у нас инвайт заряжен на 1 токен... то да... на один раз... а если на 10? то 10 раундов песочим всех... и попутно мутируем как и другие организмы. Это с некой долей вероятности может привлечь слабые геномы стратегически, вдруг вы смайните инвайт-код который всех шарахает по максимуму? это актуально... и нет смысла превращать этот инвайт в организм, если последующие мутации не выгодны для выживания и накопления зигот.
Ладно - давайте мозговой штурм. С числами то понятно... их всего 10 и они единицы энергии, а вот алфавит почти 28. Большая маленькая вроде понятно... атака и защита от этой атаки. Окай, машические атаки... огонь вода земля воздух, астрал... а еще же есть мечь-копье-топор-стрела... а еще есть всякие жвалы у насекомых. При этом так же рассматриваю защитные абилки массовые. условно 50% от магического урона или физического... помимо точечных воздействий.
Другими словами придумываем абилки, название на инглише и чтобы первая буква (или вторая) совпадала с... и задавайте вопросы, они так же могут навести на вполне интересные детали процесса.
@ksantoprotein "просто добавь воды" - нихрена не понял )))
@urirexroth да я больше налегаю на бекэнд, алгоритмы всякие и их использование в текущей ситуации... надеясь на подключение фронты рано или поздно к процессу
@ksantoprotein, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующих категориях:
@ksantoprotein Игра это круто! Но полностью весь игровой процесс отдавать под рандом, может хоть немного и пользователю дать по управлять акком в ходе игры, хоть пару очков дать самому распределить на атаку или защиту, и например заранее опредеить будет атаковать других или уходит в защиту?
@borav а на что тогда генерация мутаций? из исходного инвайта можно будет посмотреть как будут появляться мутации хоть на 100 шагов вперед или на 1000. единственный "рандом" это внешние условия со стороны природы. так что что делать "заранее" заложено изначально. при этом можно же влиять на ход эволюции сбрасывая "бомбы"
@ksantoprotein
ага. а кто-то мне обещал прекрасного принца и игру для девочек. без монстров и карт. неужели не может быть в игре какого-то иного подхода, кроме приобретения карт и манипуляций с ними? Саша!!! придумай что-то для девочек. есть же наброски. если надо их доделать в том направлении, в котором ты мыслил - я доделаю. сейчас так было бы круто - был бы еще один вариант активности на чейне.
@ladyzarulem так тебе надо возглавить процесс. фонд воркеров есть. берешь наработки концепт, собираешь команду, формируешь тз, фонд оплаты, генерируем заявку в комитет и вперед. со мной усе просто, если кто-то предложит мне более 100% годовых, то я перестану играть в монстров и займусь игрой для девочек.
по принцу тем более я концепт тебе скидывал и вопросы у тебя остались
@ksantoprotein нереально предложить более 100% годовых. получается у тебя столько на монстрах? и у меня не было идеи, чтобы что-то бросать ради девочек.
@ladyzarulem почему нереально? я же предлагаю.
у меня на монстрах больше, 100% годовых это у тех кто на ДУ
@ksantoprotein игровые движки лишними не будут, здорово что и в этом направлении есть мысли...
@ksantoprotein Интересно, но не понял, как определить, что инвайт не посторонний, т.е. что пользователь инвайт не сам создал и хочет его всунуть игре... Разве что хранить публичные ключи в базе данных...
И не понял, должны ли быть в такой игре определённые правила генерации ключей инвайтов. И если да, для чего...
@denis-skripnik по первому моменту непонятен сам вопрос у тебя.
при клейме инвайта палится его приватник и это и есть начало игры если клейм идет на баланс игрового бота. ты видимо думал что приватник кормим боту куда то?
генерировать инвайты ты можешь как угодно. потом алгорит сам будет генерировать мутации искодя из предыдущего ключа
Нет. я claim и имел в виду. А что значит исходя из предыдущего ключа? Из предыдущего ключа этого игрока, другого? Да и зачем это делать, если начало игры - это клейм, а баланс - это уровень мутации.
@denis-skripnik итак... игрок создает инвайт и вкладывает в него первую мутацию это пару ключей приватный и публичный. далее он делает клейм самого инвайта invate_claim (не путаем с операцией клейма которая claim)
в инвайт клейме указывает кто получает на баланс токен и указывается приватный ключ. все, игра началась.
Понятно. "Вкладывает первую мутацию пару приватных и публичных ключей" - ключи любые?
@denis-skripnik да
Благодарю за пояснения.