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

Fingercomp

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

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

  • Посещение

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

    283

Все публикации пользователя Fingercomp

  1. Самонадеянно. Я ничерта не понял, но зато на картинки глянул. Прикольная вещь.
  2. Если хочешь доступ — пиши сюда гитхабовский ник.
  3. Прогресс желательно бы видеть только. Могу дать доступ. Нужен только ник на гитхабе.
  4. Новый год уже даёт о себе знать скорыми дедлайнами, нехваткой времени и ленью. Поэтому я решил не спамить мелкими апдейтами весь топик, а оформить полноценный пост с полезной информацией. Никто не умер, никуда энтузиазм не делся, тема не сдохла и т. д. Обновления от 8 декабря 2016 года. Ровно 30 дней до старта. 1. Карта Как и было обещано, 6 декабря мы сделали последние изменения, а 7 декабря законсервировали её. А теперь выкладываем для скачивания. Ссылка на скачивание карты: https://dl.dropboxusercontent.com/s/epcz034fsumhsr7/ut-world.zip Качайте клиент Sky через лончер здешний, распаковывайте архив в saves и играйте. С этого момента начинается подготовка участников к сражению. Делайте наброски программ; на выходных мы придумаем протокол, и тогда можно будет начинать писать прогу. 2. Моды Изменился состав модов: OC 1.6.0. CX 1.6.1. OpenPeripheral AIO-7. Каждый робот будет иметь разноцветную карточку из CX, чтобы покрасить робота в цвет команды. Этим займутся организаторы (то бишь, я и Тотора) перед стартом битвы. 3. Софт @astral17 теперь произведён официально в кодеры и имеет write-доступ к репозиториям. Вместе с ним пишем сервер. Оформить планируем это всё до 16 декабря 2016 года. Надеюсь, успеем. Пока что никто не взялся помочь с другими проектами. Мне остаётся непонятным, точно ли народ желает зрелищ? 4. Канбанчик У нас заведён канбанчик на GitHub: https://github.com/orgs/cc-ru/projects/1 Ничего особенного, просто сортируем задания там, как делали с Тоторой с треллой Hel. Upd. Доступен, как оказалось, только для членов организации, к сожалению. Так что вы его не увидите. Но канбанчик есть! 5. Планшетов не будет Решено было заменить планшеты, которые глючат и перекрывают пол-экрана, на очки OpenPeripheral. Полгода как можно совмещать шлем с очками в секте крафта. Это просто охренительнейшая фича, не так ли? :P Можно рисовать сложные формы. При захвате бспроводной клавиатурой ввода можно кликать по элементам. Создаются сигналы на OC. Очень круто тоже. Занимают только место по краям. Я уже работал с очками не раз. Быстрее скорость разработки. Вот так выглядит интерфейс: 6. Гитхаб Ещё раз ссылка на GitHub: https://github.com/cc-ru Будем очень рады, если кто-нибудь поможет с разработкой. Дадим доступ, все дела, только скажите.
  5. А какая разница, всё равно hpm в любом случае нужен. Только сейчас достаточно одной команды, а у тебя надо две — сборка и установка. Если надо сборку — фигачь скрипт на луа и запускай перед установкой.
  6. Инфо-панели С каждой из 4 сторон напротив арены есть по паре мониторов (см. 1 обновление). На левом должна быть инфа о текущем матче. Кто играет. Монеты в сундуках команд. Большими цифрами. И снизу полоска с соотношением. Время начала, конца, оставшееся; прогрессбарчик. На 50×16 как раз вместится. На второй циклически менять несколько экранов — турнирная таблица там, количество посетителей. Содержимое надо обсудить. Пилить — обязательно! — в стиле подобном Material Design, тёмный фон, все дела. Все интерфейсы у нас должны быть в одном стиле. Делите проект на модули, подгружайте через модульный менеджер, который будет в репах. Все зависимости можно добавить в манифест и качать из репозитория. Обсуждение Вопросы все решаются в подпольной ирке — потому что никто не будет каждые 5 минут обновлять форум, чтобы услышать ответ собеседников. На форуме можете кидать, конечно, но всё равно будут обсуждаться они в ирке. Всё потому, что в ирке вопрос решаются в разы быстрее, чем на форуме: быстрее виден ответ собеседника, быстрее пишутся сообщения (и короче). А медлить особо некогда. Приоритеты На всякий случай. По убыванию: Сервер. Инфо-панель. Планшет. Голограммы. @astral17: будет 5 воронок в таком случае. Сундуков не будет. Робот сам может в воронку кинуть предметы. К тому же, я думаю, что воронки из роботов не тырят ничего.
  7. Отрелизил новую версию hpm с одной очень сочной и полезнейшей фичей. Есть проекты с огромным количеством всяких файлов, зависимостей, типа OpenNet. И так это неудобно держать в адекватном состоянии. Теперь есть решение. В папке с проектом создаём файл manifest со следующим примерным содержанием: {name="name-of-program", version="1.0.5-dev", dependencies={ {name="logging", version="^1,!=1.5", type="required"}, {name="network", version="^2", type="required"} }, files={ {url="путь/относительно/манифеста/script.lua", dir="/usr/bin", name="script.lua"}, {url="путь/относительно/манифеста/another-file.lua", dir="/usr/lib/program", name="another-file.lua"} }} Теперь это всё дело пакуем (через tar) и шлём друзьям. Те распаковывают и просто запускают эту команду: $ hpm install -l . (вместо точки путь к папке с манифестом) Вуаля! И зависимости все скачались, и прога поставилась. Теперь можно юзать. А вот вариант, если нужно только зависимости накатить, а саму прогу не трогать: $ hpm install -ld . Мы фичу уже юзаем в репе UT: https://github.com/cc-ru/ut-server/blob/master/manifest — можете юзать как образец.
  8. Да, я писал про них в прошлом апдейте. Если есть время и желание помочь — присоединяйся! Будем рады. Об архитектуре расскажем, если надо.
  9. Обновления от 2 декабря 2016 года. Осталось 35 дней. 1. Арена не изменилась Я хоть и порывался там всё к чертям поменять, но даже не зашёл на сервер. Пока устраивает, какая есть. 2. Пилю сервер Вот у нас репозиторий: https://github.com/cc-ru/ut-server Я добавил граф компонентов и немного кода. Есть менеджер модулей, вынес ивенты некоторые. Прицепил манифест, так что можно ставить через hpm после сегодняшнего обновления: клонируете репу и пишете hpm install -l .. Будет ставить все зависимости, всё круто. Пока что нихрена не тестил, просто пишу код. Завтра-послезавтра доделаю костяк, думаю. 3. Нужны люди Напомню, что у нас есть ещё, помимо сервера, три программных компонента, которые тоже нужно сделать. Поэтому очень нужны те, кто будет тоже параллельно делать другие программы. В нашей терминологии, кодеры. Быстрее закончим — эпичнее сделаем. Всем же лучше. Так что стучитесь. Дадим доступ к репам, если будет уверенность, что вы принесёте пользу. Не стоит пилить свои форки софта — нечего нерационально тратить время. Можно просто сидеть в ирке (организация признана подпольной) и отвечать на мои бесчисленные вопросы, обсуждать архитектуру, как раз пока основную часть делаем. 4. Обновления Буду периодически постить обновления, резюмируя десятки сотен строк в подпольной ирке и обновления в организаторской трелле. Так что особо ничего не пропустите, надеюсь.
  10. Состояние дел на 1 декабря 2016 года. 1. Арена Есть некая хрень, которую можно назвать ареной. Провёл коммуникации, всё такое. Вот скрины: Я её ещё допилю немного, но, в целом, будет как-то так. 2. Инфо-панели С каждой из 4 сторон есть такие панельки: Разрешение у них будет 50x16, предположительно. Слева можно результаты команд, а справа — всякую хрень поставить. Потом решим. Для каждой панели по компу, чтобы не тянуть провода. 3. Голограммы Будет 4 голограммы внутри по сторонам команд и 1 голограмма в центре. Вот для ориентировки запустил 5 кубов: С голограммами я работал, делал даже для них показ погоды, текст рендерить могу, так что тут всё просто будет. На боковых будет счёт и какая-нибудь хурма. В центре — без понятия. Наверное, время. 4. Планшеты Есть идея сделать программу для планшетов, где будет показываться инфа о раунде и будут команды на телепортацию. Прикрутим авторизацию. Ничего особо сложного не будет, очень простая прога. Юзать будем либу от @Zer0Galaxy, так что ещё проще всё будет. 5. Сервер Будет ставить сундук с мандаринкой в полу и заменять обратно на блок по таймеру. Принимает сообщения по сети и обрабатывает их (например, телепортирует по команде или возвращает инфу о раунде). Каждые 10 секунд рассылает сообщение о времени. Дебагой считает количество монеток в сундуках. 6. Команды Нужно разделиться на 4 команды. Всего участников до 16 должно быть. На данный момент имеем 10 участников. Как решено постом ниже, у каждого участника будет по 4 робота, в один момент могут сражаться до 4 участников. 7. Планирование Арену постараемся сделать до 6 декабря 2016 года (вторник). Потом выложим её. Думаю, схематиком дадим, а в проги сами уже забивать участники будут. Вся софтверная организаторская часть должна быть сделана до 5 января 2017 года (четверг). Битва планируется 7 января 2017 года (суббота). От релиза схематика до битвы участники могут пилить роботов. На команды разделиться надо до релиза карты, соответственно. 8. Архитектура Сервер управляет игрой. Сервер отдаёт инфу по запросу через сеть OC. Планшет принимает инфу от сервера, показывает её в няшном интерфейсе. Планшет идентифицирует владельца (по паролю, например) и отправляют команду на телепорт. Инфо-панель принимает инфу от сервера и показывает её. Голограммный контроллер принимает инфу от сервера и рисует на голограммах её. 9. Гитхаб Все репы для UT будут здесь: https://github.com/cc-ru Уже есть репа для сервера, который завтра начнём пилить: https://github.com/cc-ru/ut-server 10. Люди и коммуникации @Totoro: автор идеи, организатор, кодер, участник, отвечает за связи с общественностью (на вопросы отвечает он, то есть). @Fingercomp: организатор, кодер, участник, строит арену, упорядочивает информацию. @NightFury: участник. @Quant: участник. @Seryoga: участник. @FluttyProger: участник. @astral17: участник. @ALeXeR: участник. @electronic_steve: участник. @LuaGamer: участник. Организаторы имеют доступ к трелле. Кодеры имеют доступ к репозиториям. Нужны очень кодеры. Ждём пулл реквестов, доверенным готовы дать доступ к репозиториям при условии активности. Коммуницируемся в подпольной ирке (самые быстрые обновления), на форуме пишем обновления и решения. В организаторской закрытой трелле ёмко расписываем инфу.
  11. А вот и нет, можно Просто заюзать дебаг-карту и функцию получения NBT блока по координатам. Ну и как я понял, вопрос "как оно будет" уже обсудили. Теперь нужен сервер: делать арену, писать софт.
  12. Офигительная программка. За десять минут накидал интерфейс программки. Есть пара пожеланий: Допилить некоторые фичи (удаление форм и поиск объектов очень надо). Возможность скрывать элементы прямо в редакторе, не просто в код булеву переменную прописывать. Когда есть несколько наслаивающихся элементов, неудобно изменять объекты под верхними слоями.
  13. Весь проект разделён на три части: Бэкенд (задний конец), называется hel, мозг этого всего безобразия. Написан на Python и хранит в единой базе данных всю инфу о пакетах. Имеется отлично документированное API, на случай если вы задумаете запилить интеграцию с репозиторием для своей программы. Подробнее на Wiki. Фронтенд (передний конец), зовётся hel-face. Написан на кавайноняшном языке Elm. Это, собственно, сайт, который вы будете юзать для заливки/редактирования/пр. ваших (или чужих) пакетов. Клиент для OpenComputers под именем hpm. Писалось на всеми обожаемом языке MoonScript. Лёгкий (потому он весит 161 килобайт, да, а что вы думали), но от этого не менее мощный клиент к репозиторию. Так как мы страстно придерживаемся движения Open Source, всё: клиент, оба конца — есть на GitHub. Вся работа организуется через Trello, мы там поддерживаем чистоту и порядок. Репозитории подключены к Travis CI, который проверяет всё, что мы пилим. Подпольная ирка, конечно же, основная часть всего проекта, где мы обсуждаем котиков и кавайность елма. И, наконец, не менее подпольный форум (ссылку не надо, надеюсь?), где мы очень ждём ваших отзывов. Обо всех глюках, багах и прочих неприятностях можно докладывать в любой из этих каналов связи. Кроме того, с удовольствием рассмотрим пулл-реквесты в Git репозиторий.
  14. Здрассьте, господа, у нас тут превесёлая вещь случилась: спустя полгода разработки (причём круглым числом; 28 мая стартанули) у нас отрелизился репозиторий! Обозвали мы его Hel. В репозитории мы собрали и воплотили в жизнь все хорошие идеи и концепции, которые обсуждались здесь, чтобы получился максимально кавайный способ дистрибуции пакетов. Пользоваться репозиторием не сложнее, чем ставить программы с Pastebin. Для этого нужно знать только название пакета. Одна команда: $ hpm install <нужный пакет> И вуаля! Он уже установлен в нужную папку, все нужные библиотеки загружены и распиханы по системе. Можно запускать и работать. Но по сравнению с OPPM или Pastebin, hel несравненно удобнее. Он легковесный. Простой. Не требует регистрации. И СМС. Чем мы гордимся, безусловно. Установка программ производится с помощью одного легкого клиента (как у Pastebin), но в то же самое время, вам не нужно волноваться о библиотеках или версиях программы. Вы всегда можете найти и установить самую свежую версию (и даже не самую свежую), зная только название пакета (как в OPPM). Кстати, раз уж мы заговорили про OPPM. У нас клиент получился настолько охренительным, что вы можете теперь выкинуть oppm в помойку, наконец-то! В стандартный комплект поставки включён oppm-модуль с кэшированием (иными словами, вам не нужно будет ждать пару минут, пока пробрутфорсятся репозитории, сразу всё качается). Всё быстро, чётко, ясно. Юзается оно так: $ hpm oppm:install <имя пакета> Об остальных фичах читайте уже в мануале hpm, там всё есть.
  15. Я не был бы так уверен. Во-первых, с футболом программ от игроков ждать придётся года два, а монетки собирать — это не такой сложный алгоритм (чего таить, простой). А во-вторых, для первого раунда надо что-то лёгкое довольно. Ибо у нас всего месяц с неделькой на всё — сервер, арена, эффекты, сами программы. А у людей скоро как раз всякие сессии, традиционные предновогодние запары, так что усложнять чрезмерно не следует. Предлагаю сегодня-завтра допилить первый раунд, как он есть, определиться, самое главное, где делать карту, какие моды, правила, а затем начать официально пилить. Тороплю Тотору как раз с проектом, после него переключиться можно будет полностью на UT. На следующий раунд будут, может, более крутые идеи. И времени подольше на подготовку. Заодно как раз всю фигню щас решим, и меньше потом делать придётся.
  16. Я за автономность пока что. А скукоту разгонять общением и оборудованием. Идей много, так-то. Щас покончим с одной фигнёй огромной, и всё внимание сюда переключу. Энтузиазм, мотивация пилить есть. Ну и надо делать карту на днях будет, сразу туда софт гонять. Кто-то предлагал хосты — можно на них поднять, тем более, что не особо огромный серв будет. А там перекатить можно, например, на сервер от @Alex, который, по идее, пилится. В IRC я там много чего уже высказал. В Трелле мы что-то подытожили, ничего критичного.
  17. Во-во-во! Это серьёзный прогресс после прошлых потугов на программки! Молодца, одним словом.
  18. В общем, спасибо, что натолкнул на перепроверку — спустя год оно таки каким-то чудом перестало тормозить, даже в опьянённом виде. Что очень даже хорошо, и все свои возражения посему снимаю.
  19. К сожалению, пьяным MV пользоваться невозможно совершенно. Виртуальная коробка — вариант так себе, так как производительность там ещё хуже. Как минимум, так было год назад. Есть подозрение, что за год чего-то там поменялось, и теперь это вполне работает. Надо проверить.
  20. Линукс, вообще-то, обделили, только не самим веб-приложением, а MagicaVoxel'ем, который Win-only.
  21. Тише, тише, всё спокойно, вас не режут, не пытают. У нас вообще самое настоящее что ни на есть интеллигентное общество. Поэтому люди тут достаточно скептичны по поводу реализации уникальнейших, принципиально новых инновационных разработок. Особенно скептично относялся к разработкам такого рода от не известных ранее форуму людей, новичков, иными словами. И я свой шмактус здесь оставлю.
  22. Вот тут подробнее про эти логические операторы Ktlo рассказывал: http://computercraft.ru/topic/1058-logicheskie-vyrazheniia-v-lua-ili-izbavliaemsia-ot-logi/ Рекомендую прочитать. А лучше ещё всю "Базу знаний" просмотреть.
  23. (side == "right") — сравнение строки со строкой. Будет true, если строка в переменной side равна "right", и false в противном случае. (side == "right") and "turnRight" or "turnLeft" — это некое подобие :?, тернарного оператора, в Луа. Разделим его на три части: левая — всё, что до and, правая — всё, что после or, и средняя — всё, что между этими операторами. Тогда получаем следующую логику: если левый и средний значения не равны false или nil, то будет возвращено выражение средней части. Иначе — правой. То есть, если у нас сторона равна "right", будет возвращена строка "turnRight", иначе же будет "turnLeft". bot[(side == "right") and "turnRight" or "turnLeft"] — строка, которая у нас вернулась в прошлом шаге, теперь подставляется между квадратных скобок. Получаем bot["turnRight"] или bot["turnLeft"]. Тут нужно помнить, что для Луа tbl.key и tbl["key"] — одинаковые выражения, а точка — это просто синтаксический сахар. Тогда выходит, что при сравнения у нас возвращаются bot.turnLeft или bot.turnRight. turn = bot[(side == "right") and "turnRight" or "turnLeft"] — значение, полученное выше (bot.turnLeft или bot.turnRight), присваивается переменной turn. Код предложенный совершенно не идеален — так вообще писать нельзя. Неправильно слово написано: длина по-английски — length, а не lenght. Функция не локальная, а глобальная. Это считается дурным тоном — вы засоряете _G. Переменные без local становятся глобальными. То же, что и выше — мусор в _G. Я так однажды баг не мог часами найти — откуда-то переменная уже имела значение, хотя я его не присваивал. Просто забыл local, как оказалось. Вот так какнонично должен выглядеть код: local function work(length, side) local turn = bot[(side == "right") and "turnRight" or "turnLeft"] digandplace(length) turn() bot.forward() turn() bot.forward() end
  24. Одна проблема: такая либа уже есть. Давным-давно есть. Рабочая. https://github.com/OpenPrograms/gamax92-Programs/blob/master/vcomponent/
  25. Fingercomp

    OpenComputers 1.6.0 Release

    Добавлено Версия дисковода гибких дисков (дискет, если что) для серверов. Возможность взаимодействовать с некоторыми хранилищами предметов с помощью контроллера инвентаря (не особо понял, что тут нового. Видимо, новые инвентари или черех адаптер). Поддержка энергии RotaryCraft. Возможность задать границы вывода (я про viewport, да) на GPU, так что теперь можно химичить с производительностью всякими нестандартными путями. Кабели запоминают цвета, в которых их красили, при срубании. Можно их теперь ещё и в сетке крафта красить. Интеграция с IC2 на 1.8.9. Можно переключаться между всеми лут-дискетами, перекрафчивая их с ключом. computer.getDeviceInfo() — метод, который возвращает базовую инфу об устройствах (от планок памяти до всяких шифраторов CX). computer.getProgramLocations() — функция, которая возвращает, на каких лут-дискетах какие лут-программы лежат. Торговый апгрейд для роботов. Торговля с жителями, об этом я уже писал. Можно задать свои HTTP-хедеры вместе с, ммм, HTTP-запросом. debug.playSoundAt, которая, как ни странно, играет звуки. Возможность задать используемый CPU из AE2 при запросе на автокрафт. Интеграция с ThaumicEnergistics. Цветные дронотапки (hover boots). Индикатор сетевой активности на серверах. Перевод на бразильский язык. [*]Изменено Мажорнейшее и вообще самое основное — серверные стойки. Я о них писал, да. Удалённые терминалы (Remote Terminals) подключаться должны к серверу удалённых терминалов (Remote Terminal Servers), штучке для серверной стойки. Компонент дисководиков. Можно теперь программно выкидывать диски из дисководов. Нёрф геолайзера — учитывается теперь дистанция до блока, а не колонны. Зато область сканирования можно задавать не только в виде колонны, а в виде кубоидов объёмом до 64 блоков. Упрощены рецепты. Новый шрифт поставлен. Можно сменить ещё с помощью ресурспаков. Один солидный книжный том изменений в OpenOS. [*]Починено Зависания при крафте, возвращающем тот же предмет, что и данный на входе. Всякие проблемы с рецептами режима грега. Обработка userdata в LuaJ. Конвертация энергии некоторых модов. Проблемы производительности из-за слишком усердной компресси данных, передаваемых клиенту. Тоже проблемы производительности, связанные с отправкой пакетов с дескрипторами компьютеров на клиенты. Обновление LuaJ с фиксами багов. Интеграция с Mystcarft. Напомню, категория "починено". Интеграция с ключом BuildCraft. Роботы могли черпать блоки текучих жидкостей, не источников. Генератор поедал нещадно предметы, если они не были вовремя оттуда вынуты. Контейнеры апгрейдов никогда не выпадали из планшетов при разборке. Сломанный код сохранения информации о блоках OC в версиях MC выше 1.8. Микроконтроллеры ловили только сигналы с сетевой карты. Вот это всё и есть OC 1.6. Вот чем он так крут по сравнению с прошлой версией. Ченджлог на страницу! Со времени первого коммита OC 1.6 до текущего момента прошло 465 дней. Это год и 100 дней. И ведь всё это время я ошибочно думал, что вот-вот, немного подождать, и будет 1.6.0, пару изменений ещё только. Здесь оригинал списка гигантского и ссылки на скачивание. У меня есть несколько записей, посвящённых обновлениям в этой версии. Если ещё их не читали, рекомендую ознакомиться.
×
×
  • Создать...