Перейти к содержимому

Doob

Гуру
  • Публикации

    1 089
  • Зарегистрирован

  • Посещение

  • Победитель дней

    141

Сообщения, опубликованные пользователем Doob


  1. Библиотека довольно самодостаточная, в ней только самые нужные функции, но можно добавлять свои модули.

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


  2. Все это есть в ТФК. И баланс элементов в почве/организме, и реалистичный крафт, и улучшенная механика износа (еще бы медицину и было бы вообще замечательно).

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

    Поэтому, нужен мод, который будет добавлять нормальные скрытые механики и усложненные крафты (не просто рецепты типа "хлеб = мука+сахар+соль+дрожжи", а умение делать ту или иную вещь). Либо нужен технический аддон к ТФК, чтобы каждый следующий уровень технологий достигался усилиями, многократно превышающими все предыдущие.

    • Нравится 1

  3. Не, тут нужна система скиллов, любой Вася Пупкин может быть одновременно электриком, садоводом, охотником, строителем и т. д.

    Как сказали NEO и Stateg, надо усложнить все процессы, чтобы эффективно выполнять задачу мог только игрок с прокачанным умением, тогда игроки будут сами распределять профессии, как во всех RPG

     

    А роботы слишком все упрощают.

    • Нравится 1

  4. Дело в том, что переменная address создается в функции touch, вне функции она не видна, поэтому ее следует объявить в начале программы, тогда она будет видна для всех функций.

     

    Код слишком громоздкий, адреса/кнопки лучше как-нибудь упаковать отдельно, отрисовку рамок можно сделать за две операции gpu.fill.

    • Нравится 1

  5. В ценooбразoвании неразумнo oтдавать власть игрoкам, т. к. в майне челoвек бессмертен, а сo всякими админшoпами ресурсы бескoнечны. Активную тoргoвлю ведут тoлькo нoвoприбывшие, а те, ктo наигрался - набили сундуки ресурсами и ушли.
    Следoвательнo, неoбхoдимo скупать излишек, давая вoзмoжнoсть oбменять любoй ресурс, на любoй другoй, пo справедливoй цене.

    У меня давнo все гoтoвo, некoгда зайти на сервер и устанoвить терминал.
    Прoграмма прoста как палка - пoкупает/прoдает ресурсы, рассчитывая стoимoсть на oснoве спрoса-предлoжения, пo такoй фoрмуле: (1/(купленo-прoданo)+(прoданo/купленo))*мнoжитель
    т. е. "прoданo" - кoличествo тoвара, прoданнoгo игрoками, "купленo" - спрoс на тoвар, "мнoжитель" - числo, кoтoрoе пoзвoляет представить стoимoсть в виде натуральнoгo числа.
    Например, у нас есть три тoвара (множитель: 1000):

    • Бусы, прoданo: 1000, купленo: 50, стoимoсть: 52
    • Джинсы, прoданo: 500, купленo: 50, стoимoсть: 103
    • Булыга, прoданo: 100500, купленo: 64, стoимoсть: 1

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

    Централизoванная скупка-прoдажа вывoрачивает недoстатки баланса в майне (тoчнее, егo oтсутствия), т. к. ресурсы=время, ресурсы не имеют веса, а с мoдами, oбъем стремится к нулю, oтсутствует энтрoпия, тo кoличествo ресурсoв вoзрастает пo экспoненте (с мoдами ускoряющими развитие, в ванили этo прoстая арифметическая прoгрессия).
    На бoльшинстве серверoв эта прoблема решается регулярными вайпами или oрганизoванным рoлеплеем.

    В плане баланса, есть oчень хoрoший мoд TerraFirmaCraft, для пущегo эффекта, мoжнo былo бы снизить кoличествo мoбoв и включить режим хардкoр, чтoбы игрoки бoлее oтветственнo oтнoсились к свoей тушке и мoгли умереть тoлькo пo сoбственнoй невнимательнoсти.

    Были планы сделать рынoчный мoд, как на некoтoрых серверах, нo не давать игрoкам устанавливать цены, нo т. к. этo надo сделать удoбнo, в стиле ванильных инвентарей, тут есть риск дюпа, а дюп в майне - вещь непoзнаваемая, фиксы надo штампoвать без oстанoвки.
    В плане безoпаснoсти хoрoшая вещь - дебаг-карта, нo не слишкoм удoбнo тoргoвать через чат - прихoдится вбивать внутреннее имя предмета, метаданные, кoличествo. Затo, мoжнo привязать к экoнoмике кучу магических штук, типа убийства мoбoв, т. к. этo тoже время, кoтoрoе мoжет быть вoзнагражденo.
    Пoследнее решение - физический терминал, т. е. тoргoвый автoмат, самoе неудoбнoе решение, т. к. игрoкам для сoвершения oперации прихoдится сoвершать пoхoд на рынoк, ждать, кликать на кнoпки, руками брoсать/пoдбирать тoвар (ибo классная пимка - дюп-машина).
    Хoтя, на нашем сервере рекламу развернуть не труднo - пoдключить бoта к чату через IRC и слать сooбщения раз в 10 минут.

    На паре серверoв развoрачивал рынoк, oбъединенный с увеселительным заведением (пoкер, рулетка, блекджек), нo игрoки в oснoвнoм тoлькo прoдавали, изредка пoкупали, а играть никтo не хoтел. Тут винoй челoвеческая жаднoсть - циферки на счету, как ресурсы, кoпятся для услаждения взгляда. Ну и кoнечнo, этo был тoпoрный кoмпутеркрафт и фoрмула была дoвoльнo глупая - в расчет бралась куча лишних параметрoв, врoде средней пoкупательскoй спoсoбнoсти и перерасчет стoимoсти всех тoварoв, на oснoве самoгo дешевoгo.

    • Нравится 3

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

    А запустить сервер или найти подходящий, тоже не сложно.

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


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

     

    Данная программа реализует IRC мост, по которому могут общаться не только опенкомпы, но и любые устройства с интернетом.

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

     

    Использование:

    Скачать программу pastebin get CmLFFF7g /bin/imodem.lua

    Проверить наличие интернет-карты в компьютере

    Запустить программу imodem

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

    Чтобы послать сообщение всем устройствам на канале, есть функция imodem.broadcast( сообщение: строка )

    Чтобы послать сообщение по определенному адресу - imodem.send( получатель: строка, сообщение: строка )

    Для разрыва связи и прекращения работы - imodem.stop()

     

    А чтобы принимать сообщения, достаточно ловить событие modem_message, как у обычных модемов.

     

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

    • Нравится 8

  8. Берем дискету OpenOS и ключ, суем это в верстак, пока не получим дискету 'IRC'.

    Вставляем дискету в комп, пишем install irc

    Пишем irc <ник>, ждем подключения.

    Пишем /join <канал> и получаем чат.

     

    Очки прикрутить не намного сложней, даже видел где-то готовый клиент.

    • Нравится 2

  9. GPS это куча оборудования, трата энергии и времени, но иногда может понадобится там, где нет встроенного акселерометра, как у робота.

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

    Где-то была готовая программа, но я ее не нашел, поэтому восстановил основной функционал, по примеру КомпутерКрафта.

     

    Для начала нужен компьютер с установленной OpenOS.
    Скачиваем для него программатор хостов: pastebin get ZD8GysNP /bin/fgps.lua
    Эта программа позволяет устанавливать прошивку для спутников-микроконтроллеров, которые будут рассылать свои координаты по запросу.
    Далее, соберем несколько микроконтроллеров с беспроводными картами, при необходимости обеспечим их энергией.

     

    Теперь надо установить прошивку для первой партии:

    • узнаем координаты, где будет стоять очередной хост
    • вставляем EEPROM в компьютер
    • запускаем программатор, с указанием координат через пробел (например: fgps 1652 64 -152)

     

     

    cJqZRna.png

    FLm90O2.png

     

     

     

    Прошитые карточки вставляем в микроконтроллеры (в сетке крафта) и расставляем в соответствии с координатами, указанными при прошивке.

     

     

    el56Zwm.png

     


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

     

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

     

    Теперь проверим работу системы в деле.
    Возьмем, например, планшет с беспроводным модемом.
    Скачаем библиотеку GPS: pastebin get Dja9ZceV /lib/gps.lua
    Запустим консоль Lua.
    Загрузим библиотеку: local gps = require('gps')

    И попробуем получить координаты: gps.locate(true) (параметр DEBUG передаваемый в функцию работает как и в ComputerCraft - выводит все вспомогательные сообщения)

     

     

    NvgOLan.png

    AynOL2e.png

     



    Каждый хост, при старте устанавливает wake-up сообщение и включается только чтобы ответить на запрос координат. Такой подход экономит огромное количество энергии и позволяет добиться полной автономности хостов - встроенной солнечной панели вполне хватает для работы.
    Для стабильной работы надо будет добавить data-карту и реализовать протокол управления спутниками по прошитому открытому ключу, чтобы удобно было прошивать новые координаты при перемещении хоста на новое место.

    • Нравится 8
    • Спасибо 1

  10. У меня давно есть готовый каркас, ни одну нормальную стратегию не придумал, кроме как прятаться на спавне. Предлагал игрокам поучаствовать, но никто не заинтересован.

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

    • Нравится 2

  11. Бомбы появились почти перед самым запуском, это радует. Но как видно, арена маленькая и укрытия не слишком надежные, пушки потребляют довольно мало.

    Теперь ясно, что требуется от роботов и вообще, есть общее представление. Сам вряд-ли буду участвовать, но отдам код любому желающему.

    • Нравится 1

  12. Если бы все было нормально подготовлено и запланировано, то в целом, очень неплохо. А 3-12 FPS отбивают желание двигаться с места, к тому-же чизель... Новый майн и чизель. Как-будто нет дебаги и ванильных блоков.

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

     

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

     

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

    • Нравится 1

  13. Цырк! Участников нет! Дохлые тигры! Иллюзионисты-перевертыши!

     

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

    • Нравится 1

  14. Ха, только что хотел сделать такой же велосипед.

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

    • Нравится 1

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

     

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


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

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

    https://github.com/PC-Logix/OpenSecurity/wiki

     

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

×
×
  • Создать...