LINUX.ORG.RU
ФорумGames

Королевство linux.org.ru

 ,


8

3

Если под линукс мало «игорей», то надо брать дело в свои руки и исправлять!

А если серьезно, то в рамках развития своего игрового движка Hestur Engine решили запилить игру наподобие Battlefield по мотивам ЛОРа. Встречайте!

http://hesturgames.ru/category/lorkingdom/

P.S. Если есть желающие оказать помощь - пишите. Основная проблема - разработка моделей и анимаций, на которые критически не хватает времени.

Перемещено fallout4all из talks

★★

Ответ на: комментарий от winlook38

1. Регистрируешься на сервере, сервер генерирует хэш;
2. Указываешь хэш в профиле;
3. Подтверждаешь учетную запись на сервере (по запросу или автоматически) - сервер парсит учетку пользователся на ЛОРе.

Можно обойтись без сервера регистраций:

  1. Игрок придумывает произвольный токен. Игра показывает ему bcrypt от этого токена с каким-нибудь простым оформлением (типа «#!KingdomOfLor#<здесь хэш>#»).
  2. Игрок помещает хэш себе в профиль.
  3. Чтобы зайти в игру, игрок вводит свой ник и свой токен. Соответствие токена хэшу проверяется на клиенте (хэш можно найти в HTML-коде простым регулярным выражением). Поскольку клиент проприетарный, предполагаем, что народ не будет его разбирать из-за такого пустяка.
proud_anon ★★★★★ ()
Ответ на: комментарий от th3m3

Музыка нужна? Звуки и т.д.?

Да, конечно. Озвучка будущих персонажей (царей, лалок, троллей и т.п.) - один из ключевых пунктов.

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

Ты можешь с этим помочь?

bk_ ★★ ()
Ответ на: комментарий от WRG

1) Почему можно перезаряжать уже заряженный дробовик?

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

2) Надо сделать таймаут после спавна, хотя бы пару секунд, а то убивают сразу же те, кто рядом находятся.

Сейчас спавн строго на своей базе. Ее оградим, чтобы враги не гасили сразу на респе.

3) Не нашел как присесть, может можно даже сделать возможность лежать?

Пока нет, сделаем. Проблема в отсутствии полноценно анимированных моделек персонажей, чтобы были все необходимые анимации.

4) Что на счет разных режимов игры?

FFA, CTF etc?

5) Фонарик включается сам по себе и это палево.

До этого боты бегали в кромешной тьме. А теперь хоть смотрится реалистичнее. Пробиндим на <F>.

bk_ ★★ ()

А почему когда захватываешь раздел не видно топиков или хотя бы верхнего топика из этого раздела? Это же очевидно и элементарно. Пусть хоть на флаге будет написано или еще как. Ну чтобы совмещать неприятное с бесполезным и не отвлекаться от ЛОРА. Интерфейс отправки сообщений в топик тоже надо прикрутить.

И анонимуса - бота играющего против всех.

Suntechnic ★★★★★ ()
Ответ на: комментарий от bk_

Кастую всех, кто отписался в треде. Подтвердите свою запись в каст.

Меня можно кастовать, только я не совсем поняла что это за проект такой.

С гранатами так не получается - они являются объектами в инвентаре.

Сразу скажу, что гранаты меня не возбуждают.

Эффекты - типа замедления, ускорения и прочее.

а это годно

OperaSoftvvare ★★ ()

v0.6

Сегодня вышла версия 0.6 (описание, скачать).

Демонстрационное видео - здесь.

Кратко о нововведениях:

  • переписана система инвентаря, звука, действий (перезарядка, атака etc);
  • добавлены «Анскильные лалки» и «Раб лора»;
  • большой апгрейд AI: теперь LorSoldier выбирает наилучшее оружие из своего инвентаря. Когда закончились патроны, он переключается на другое оружие. Если патронов больше нет ни на одно оружие, он бежит искать другое оружие. Найдя его, он ищет патроны к нему (если это оружие - огнестрельное). Найдя патроны, открывает огонь.

Эта версия, по сути, не столько игровая, сколько демонстрационная: в ней можно посмотреть, как ведет себя AI в различных ситуациях (на правую кнопку открывается spawn-menu). Интересно смотрятся ситуации типа один LorSoldier против двадцати лалок или два LorSoldier без оружия, когда последнее лежит недалеко на карте.

Королевство linux.org.ru: bk_, iz_tabakerki, sudopacman, winlook38, StReLoK, Valkeru, true_admin, Reedych, dib2, a1batross, KRoN73, Michail_Ul, WRG, next_time, fallout4all. th3m3. proud_anon, OperaSoftvvare, Suntechnic.

bk_ ★★ ()
Ответ на: v0.6 от bk_

Нужны укрытия и перекаты. А ещё не помешает надёргать откуда-нибудь моделек для всего этого безобразия - а то игра выглядит даже не как альфа-версия.

StReLoK ☆☆ ()

Логин в «Королевство» был бы отличен, если бы работал через linux.org.ru.

maxcom, возможно ли добавить в лор небольшую фичу:

  • на странице пользователя только ему самому (больше никому) выводится строка типа
    echo -n "$(score)_$(passwordhash)" | shasum -a 512
    , то есть некий хэш
    abbe6b360c45a857c7da84c76223be75876a039759c797128c896eb1c0b2cd924f8fd1c9f123ac8bc803a44c69b289df93e00f08c129d21d71a9f40208b6d58b

    Смысл этой строки в том, что ее никто не может подобрать и знает ее только юзер.

  • юзер этот хэш смотрит у себя в профиле и вставляет в игру
  • игра шлет запрос типа
    https://www.linux.org.ru/check-kingdom-hash?user=bk_&hash=abbe...

    и сервер возвращает либо 200, либо 403.

  • Таким образом игра узнает, владелец ли игрок этого аккаунта или же нет.

Насколько возможно такое реализовать? Никаких изменений в БД не требуется. Я бы с удовольствием прислал пул-реквест, но не владею java.

bk_ ★★ ()
Ответ на: комментарий от maxcom

pull request я готов принять, ищи кто сделает.

Королевство linux.org.ru: bk_, iz_tabakerki, sudopacman, winlook38, StReLoK, Valkeru, true_admin, Reedych, dib2, a1batross, KRoN73, Michail_Ul, WRG, next_time, fallout4all. th3m3. proud_anon, OperaSoftvvare, Suntechnic.

Граждане, есть кто-нибудь, кто может помочь с этим?

bk_ ★★ ()
Ответ на: комментарий от peregrine

Но зачем? Сбор ip адресов лоровцев в обход maxcom-а? Не думаю, что многие тут этому обрадуются.

У нас - свобода. Кто не хочет логиниться, тот не будет логиниться.

bk_ ★★ ()
Ответ на: комментарий от ozzee

А что если по access token сделать? Типа переходишь на специальную страницу, там дается пин-код и его можно использовать в игре.

Я же именно это и предложил?

Но если под

там дается пин-код

подразумевать генерацию пин-кода, то тогда нужны изменения в БД (код надо хранить), чего я хочу избежать.

bk_ ★★ ()
Ответ на: комментарий от bk_

Предложи - как?

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

sudopacman ★★★★★ ()
Ответ на: комментарий от sudopacman

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

Работоспособно, но крайне неудобно. Контингент разбежится.

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

bk_ ★★ ()
Последнее исправление: bk_ (всего исправлений: 1)
Ответ на: комментарий от bk_

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

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

А пароль, который был указан при регистарции, как они узнают?

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

sudopacman ★★★★★ ()
Ответ на: комментарий от sudopacman

Пользователю так же надо будет вставить код в свой профиль.

Нет. Код генерится лором и отображается только пользователю в его профиле.

А пароль, который был указан при регистарции, как они узнают?

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

Не путай игру и лор. Игра подстраивается под лор - не наоборот. Юзер создает аккаунт на лоре, а в игре только логинится под ним.

Задача всего этого - сделать примитивный oauth без изменения самой БД лора.

bk_ ★★ ()
Ответ на: комментарий от bk_

Нет. Код генерится лором и отображается только пользователю в его профиле.

Зачем?

Не путай игру и лор

не путаю

Задача всего этого - сделать примитивный oauth

То есть ты не хочешь заводить свою БД с паролями? И регистрировать аккаунты в игре без наличия таковых на LOR?

sudopacman ★★★★★ ()
Ответ на: комментарий от sudopacman

Нет. Код генерится лором и отображается только пользователю в его профиле.

Зачем?

Прочти еще раз пост.

То есть ты не хочешь заводить свою БД с паролями? И регистрировать аккаунты в игре без наличия таковых на LOR?

Для своей БД нужен свой сервер. Это усложнение архитектуры. Поэтому своей БД не будет. И не надо, поскольку уже есть ЛОР со своей БД. Задача только в том, чтобы взять из нее нужную информацию, а именно - владелец ли юзер аккаунта на лоре или нет.

Для целей игры этого хватит.

bk_ ★★ ()
Ответ на: комментарий от bk_

mcgeek, CYB3R, увидел, что вы имеете отношение к лор-апи. Есть просьба: можете написать, пожалуйста, обработчик api-запроса с такой логикой (для игры из этого топика):

  1. Получение токена.
    /api/get-kol-token

    Игра спрашивает у юзера логин и пароль. Логин - его ник на лоре. Пароль - генерируемый этим запросом токен (ссылка со страницей www.linux.org.ru/api/get-kol-token открывается при клике на кнопку «Получить пароль» из игры в системном браузере).

    • Если пользователь авторизован, то сгенерировать ему хэш
      sha512(user_score + sha512(password_hash))
      и вывести его.
    • Если пользователь неавторизован, то ничего не делать.

    Смысл этого хэша в том, чтобы:

    • его знал только сам пользователь;
    • хэш не выдавал никаких данных этого пользователя;
    • не нужно было как-либо менять БД.

    Далее этот хэш вставляется в игру в качестве пароля (через ctrl-c-ctrl-v самим юзером). Игра шлет запрос #2 (ниже) для проверки, соответствует ли хэш указанному логину с лора.

  2. Проверка соответствия хэша логину.
    /api/check-kol-token?login=bk_&token=abcabc

    Этот запрос шлется самой игрой должен работать для неавторизованных юзеров.

    Результат запроса - true либо false (в любом виде) - то есть, верен токен или нет.

Буду очень признателен, если запилите пул-реквест maxcom'у. Выше он его уже потенциально одобрил.

bk_ ★★ ()
Ответ на: комментарий от CYB3R

К ЛОРу многие хотели прикрутить OAuth, который как раз то, что ты описываешь, а воз и ныне там.

Да, но то, что я предложил - это «почти OAuth» :)

От нормального OAuth он слишком многим отличается (юзеру приходится вручную копировать токен, нет устаревания токенов и вообще их хранения в БД).

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

bk_ ★★ ()

v0.7

Наглядно об изменениях - в видео и в галерее скриншотов!

Итак, что было добавлено с предыдущей версии:

  • множественные улучшения интерфейса игры;
  • добавлены погодные условия;
  • добавлена концепция эффектов и заклинаний;
  • добавлены концепция зелий и зелье маны как пример;
  • добавлены атрибуты и навыки: теперь игра ближе к RPG;
  • добавлены гранаты;
  • добавлен генератор имен а-ля diablo (с согласованием падежа, рода и числа, например, АК-47 с наложенным тестовым эффектом будет называться «Ужасный АК-47 анскильной лалки»);
  • исправления багов.

Дальнейшие планируемые шаги:

  • добавить осмысленные заклинания, эффекты;
  • добавить в каждую команду, тип (вассалы Openrc, орден systemd и др.) и класс (мечник, лучник, маг и др.) свои уникальные эффекты;
  • научить AI пользоваться заклинаниями.

ВНИМАНИЕ! Нужна помощь по добавлению на Лор вызова для авторизации на подобии OAuth - см. пост.

Королевство linux.org.ru: bk_, iz_tabakerki, sudopacman, winlook38, StReLoK, Valkeru, true_admin, Reedych, dib2, a1batross, KRoN73, Michail_Ul, WRG, next_time, fallout4all. th3m3. proud_anon, OperaSoftvvare, Suntechnic.

bk_ ★★ ()