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

Fingercomp

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

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

  • Посещение

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

    283

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


  1. То есть хочешь сделать так:

    if not condition then
      <уйти к чёрту отсюда>
    else
      <что-то сделать>
    end
     
    <код>
    

    Верно?

     


     

    • Во-первых, никто не мешает сделать блок условия пустым.

     

    if not condition then
    else
      -- код --
    end
    -- код --
    
    • Во-вторых, можно просто поставить not в условие.

     

    if condition then
      -- код --
    end
    -- код --
    
    • Нравится 1

  2. Обновления от 14 декабря 2016 года. 23 дня до старта.

     

    Сервер

    Самая главная новость, которая давно протухла, правда, потому что я умею вовремя доставлять новости. Мы написали сервер. Протестили его. Работает абсолютно круто — есть телепорты, старт/стоп, таймеры, сундуки, сообщения и прочее. Код можно понять, прочитать, стандарты все на высшем уровне и т. д. :)

     

    Установка сервера

    • Заходим в мир.
    • Подходим к компу под ареной по центру.
    • Ломаем его беспощадно.
    • Наведя на блок, где стоял комп, прописываем /oc_sc.
    • Включаем комп.
    • Пишем install, устанавливаем.
    • Пихаем в комп интернет-карту, беспроводной модем и дебаг-карту.
    • Подключаем терминально-очковый мост через адаптер.
    • Тыкаем очками по мосту и цепляем очечи на себя.
    • Ребутаем.
    • Пишем эти команды:
    $ pastebin run vf6upeAN
    $ wget https://raw.githubusercontent.com/ChenThread/oczip/master/unzip.lua /usr/bin/unzip.lua
    $ cd /home
    $ wget https://github.com/cc-ru/ut-server/archive/master.zip
    $ unzip master.zip
    $ hpm install -ly ./results/ut-server-master
    $ cp ./results/ut-server-master/ut-serv.conf /etc
    $ edit /etc/ut-serv.conf
    • Находим в самом конце строку game.admins. Вместо стандартных значений вписываем свой ник, чтобы можно было стартануть игру потом.
    • Сохраняем.

    Всё, установка завершена. Запускать так:

    $ ut-serv
    

    Чтобы начать игру, надо взять Wireless Keyboard из OpenPeripheral, кликнуть ими в воздух и потом нажать курсором прямо по кнопке внизу справа.

     

    Значения некоторые мы потом поменяем, конечно же, так что просто вбивать в проги нет смысла. Порт — 12345, он таким останется точно.

     

    Софт

    @ALeXeR, ты там случайно не умер с момента отправки последнего сообщения? Инвайт даже не принял, молчу уже про выгрузку прогресса. Мы-то ждали, надеялись, а время-то идёт. Я так понял, писать нам самим нужно будет (или вообще без панелей остаться).

     

    Если говорите, что поможете, — то, гм, помогайте. Вот @astral17, например, половину сервера (даже более) написал — точнее, самые скучные (для меня) вещи типа установки сундуков и прочего. Вот это реальный молодец, за слова ответил, и прочее.

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

    Ну да ладно.

     

    Содержимое инфо-панелей и голограмм будет обсуждаться завтра во всем известном месте. Накидаем пару идей и начнём писать.

     

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

    А потом нужно начать пилить роботов.

    • Нравится 2

  3. Ну а чего ждать? Выкладывай на гитхаб, хоть глянем.

    А то выложишь 200 мегастрок. Как мне это всё чинить будет? Мне же нужен единый стиль везде. И код понятный. И прочее. Поэтому не жди, выкладывай и делай коммиты.

    Пусть оно даже не работает. Главное, что виден прогресс.


  4. Естественно, будет свой комп у инфо-панели. С двумя мониторами. Не тянуть же провода позади, верно?

    Ну и, конечно же, будет OpenOS. 1.6 даже.

     

    Нужно на одном мониторе рисовать основную инфу (монеты, время), а на другом — динамически меняющуюся. Я пока не знаю, что туда пихнуть, правда, но это и не столь важно. Сделать хотя бы просто заготовку, абстракцию над UI, или, что я бы сделал, перепилить либу @Zer0Galaxy для работы с несколькими мониторами.


  5. Пригласил обоих, зайдите сюда и примите приглашение. Окажетесь сразу в команде.

     


     

    • Нам нужно сделать сам сервер. Пилим мы с @astral17, скоро доделаем.
    • Нужен ещё контрллер голограмм. Я пихнул туда заготовку, но не делал сам код.
    • И, наконец, инфо-панель. Есть манифест, заготовка, но нет самого когда панели.

    Выбирайте любой и делайте коммиты в ветку dev. Желательно через локальный клиент git, а не через веб-интерфейс (он убогий). Как сделаете фичу, можете открыть пулл-реквест дева в мейн, я проверю код и смёржу.


  6. Что ещё очень хочется отметить, у автора очень хороший талант на креативные оригинальные запоминающиеся названия. xP

     

     

    я так понимаю это чтото из серии "мегакрутой формать" 3д моделей для OpenGlasses? но я так и не понял в чес его преймущество)

    Я так понял, он для OpenGlasses и поддерживает анимашки.

     

     

    P. S. Автору настоятельно рекомендую залить свои программы в репозиторий :P


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

    Никто не умер, никуда энтузиазм не делся, тема не сдохла и т. д.

     

    Обновления от 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.

    1. Полгода как можно совмещать шлем с очками в секте крафта. Это просто охренительнейшая фича, не так ли? :P
    2. Можно рисовать сложные формы.
    3. При захвате бспроводной клавиатурой ввода можно кликать по элементам. Создаются сигналы на OC. Очень круто тоже.
    4. Занимают только место по краям.
    5. Я уже работал с очками не раз.
    6. Быстрее скорость разработки.

    Вот так выглядит интерфейс:

    pZnoVaM.png

     

    6. Гитхаб

    Ещё раз ссылка на GitHub: https://github.com/cc-ru

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

    • Нравится 9

  8. Инфо-панели

    С каждой из 4 сторон напротив арены есть по паре мониторов (см. 1 обновление). На левом должна быть инфа о текущем матче.

    • Кто играет.
    • Монеты в сундуках команд. Большими цифрами. И снизу полоска с соотношением.
    • Время начала, конца, оставшееся; прогрессбарчик.

    На 50×16 как раз вместится.

    На второй циклически менять несколько экранов — турнирная таблица там, количество посетителей. Содержимое надо обсудить.

     

    Пилить — обязательно! — в стиле подобном Material Design, тёмный фон, все дела. Все интерфейсы у нас должны быть в одном стиле.

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

     

     

    Обсуждение

    Вопросы все решаются в подпольной ирке — потому что никто не будет каждые 5 минут обновлять форум, чтобы услышать ответ собеседников. На форуме можете кидать, конечно, но всё равно будут обсуждаться они в ирке.

    Всё потому, что в ирке вопрос решаются в разы быстрее, чем на форуме: быстрее виден ответ собеседника, быстрее пишутся сообщения (и короче). А медлить особо некогда.

     

     

    Приоритеты

    На всякий случай. По убыванию:

    1. Сервер.
    2. Инфо-панель.
    3. Планшет.
    4. Голограммы.


     

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


  9. Отрелизил новую версию 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 — можете юзать как образец.

    • Нравится 2

  10. Обновления от 2 декабря 2016 года. Осталось 35 дней.

     

    1. Арена не изменилась

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

     

     

    2. Пилю сервер

    Вот у нас репозиторий: https://github.com/cc-ru/ut-server

    Я добавил граф компонентов и немного кода. Есть менеджер модулей, вынес ивенты некоторые.

    Прицепил манифест, так что можно ставить через hpm после сегодняшнего обновления: клонируете репу и пишете hpm install -l .. Будет ставить все зависимости, всё круто.

    Пока что нихрена не тестил, просто пишу код. Завтра-послезавтра доделаю костяк, думаю.

     

     

    3. Нужны люди

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

    Поэтому очень нужны те, кто будет тоже параллельно делать другие программы. В нашей терминологии, кодеры.

    Быстрее закончим — эпичнее сделаем. Всем же лучше.

    Так что стучитесь. Дадим доступ к репам, если будет уверенность, что вы принесёте пользу. Не стоит пилить свои форки софта — нечего нерационально тратить время.

     

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

     

     

    4. Обновления

    Буду периодически постить обновления, резюмируя десятки сотен строк в подпольной ирке и обновления в организаторской трелле. Так что особо ничего не пропустите, надеюсь.

    • Нравится 1

  11. Состояние дел на 1 декабря 2016 года.

     

    1. Арена

    Есть некая хрень, которую можно назвать ареной. Провёл коммуникации, всё такое.

    Вот скрины:

     

     

    l4Bcatc.png

    Y3zWRRp.png

    4QccEHV.png

     

     

     

    Я её ещё допилю немного, но, в целом, будет как-то так.

     

     

    2. Инфо-панели

    С каждой из 4 сторон есть такие панельки:

    8GnuHht.png

    Разрешение у них будет 50x16, предположительно. Слева можно результаты команд, а справа — всякую хрень поставить. Потом решим.

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

     

     

    3. Голограммы

    Будет 4 голограммы внутри по сторонам команд и 1 голограмма в центре. Вот для ориентировки запустил 5 кубов:

    v4RkEv7.png

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

    На боковых будет счёт и какая-нибудь хурма. В центре — без понятия. Наверное, время.

     

     

    4. Планшеты

    Есть идея сделать программу для планшетов, где будет показываться инфа о раунде и будут команды на телепортацию. Прикрутим авторизацию.

    Ничего особо сложного не будет, очень простая прога. Юзать будем либу от @Zer0Galaxy, так что ещё проще всё будет.

     

     

    5. Сервер

    Будет ставить сундук с мандаринкой в полу и заменять обратно на блок по таймеру. Принимает сообщения по сети и обрабатывает их (например, телепортирует по команде или возвращает инфу о раунде). Каждые 10 секунд рассылает сообщение о времени.

    Дебагой считает количество монеток в сундуках.

     

     

    6. Команды

    Нужно разделиться на 4 команды. Всего участников до 16 должно быть. На данный момент имеем 10 участников.

    Как решено постом ниже, у каждого участника будет по 4 робота, в один момент могут сражаться до 4 участников.

     

     

    7. Планирование

    Арену постараемся сделать до 6 декабря 2016 года (вторник). Потом выложим её. Думаю, схематиком дадим, а в проги сами уже забивать участники будут.

    Вся софтверная организаторская часть должна быть сделана до 5 января 2017 года (четверг).

    Битва планируется 7 января 2017 года (суббота). От релиза схематика до битвы участники могут пилить роботов.

    На команды разделиться надо до релиза карты, соответственно.

     

     

    8. Архитектура

    1. Сервер управляет игрой.
    2. Сервер отдаёт инфу по запросу через сеть OC.
    3. Планшет принимает инфу от сервера, показывает её в няшном интерфейсе.
    4. Планшет идентифицирует владельца (по паролю, например) и отправляют команду на телепорт.
    5. Инфо-панель принимает инфу от сервера и показывает её.
    6. Голограммный контроллер принимает инфу от сервера и рисует на голограммах её.

     

     

    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: участник.

     

    Организаторы имеют доступ к трелле. Кодеры имеют доступ к репозиториям.

     

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

     

    Коммуницируемся в подпольной ирке (самые быстрые обновления), на форуме пишем обновления и решения. В организаторской закрытой трелле ёмко расписываем инфу.

    • Нравится 2

  12. А вот и нет, можно :)

    Просто заюзать дебаг-карту и функцию получения NBT блока по координатам.

     

    Ну и как я понял, вопрос "как оно будет" уже обсудили. Теперь нужен сервер: делать арену, писать софт.


  13. Офигительная программка. За десять минут накидал интерфейс программки. Есть пара пожеланий:

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

  14. Весь проект разделён на три части:

    • Бэкенд (задний конец), называется hel, мозг этого всего безобразия. Написан на Python и хранит в единой базе данных всю инфу о пакетах. Имеется отлично документированное API, на случай если вы задумаете запилить интеграцию с репозиторием для своей программы. Подробнее на Wiki.
    • Фронтенд (передний конец), зовётся hel-face. Написан на кавайноняшном языке Elm. Это, собственно, сайт, который вы будете юзать для заливки/редактирования/пр. ваших (или чужих) пакетов.
    • Клиент для OpenComputers под именем hpm. Писалось на всеми обожаемом языке MoonScript. Лёгкий (потому он весит 161 килобайт, да, а что вы думали), но от этого не менее мощный клиент к репозиторию.

    Так как мы страстно придерживаемся движения Open Source, всё: клиент, оба конца — есть на GitHub.
    Вся работа организуется через Trello, мы там поддерживаем чистоту и порядок.
    Репозитории подключены к Travis CI, который проверяет всё, что мы пилим.
    Подпольная ирка, конечно же, основная часть всего проекта, где мы обсуждаем котиков и кавайность елма.
    И, наконец, не менее подпольный форум (ссылку не надо, надеюсь?), где мы очень ждём ваших отзывов.

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

    • Нравится 3

  15. about.6c5ea71c.png


    Здрассьте, господа, у нас тут превесёлая вещь случилась: спустя полгода разработки (причём круглым числом; 28 мая стартанули) у нас отрелизился репозиторий! Обозвали мы его Hel.

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

    Пользоваться репозиторием не сложнее, чем ставить программы с Pastebin. Для этого нужно знать только название пакета. Одна команда:

    $ hpm install <нужный пакет>
    

    И вуаля! Он уже установлен в нужную папку, все нужные библиотеки загружены и распиханы по системе. Можно запускать и работать.

    Но по сравнению с OPPM или Pastebin, hel несравненно удобнее.
    Он легковесный. Простой. Не требует регистрации. И СМС. Чем мы гордимся, безусловно.
    Установка программ производится с помощью одного легкого клиента (как у Pastebin), но в то же самое время, вам не нужно волноваться о библиотеках или версиях программы. Вы всегда можете найти и установить самую свежую версию (и даже не самую свежую), зная только название пакета (как в OPPM).

    Кстати, раз уж мы заговорили про OPPM. У нас клиент получился настолько охренительным, что вы можете теперь выкинуть oppm в помойку, наконец-то! В стандартный комплект поставки включён oppm-модуль с кэшированием (иными словами, вам не нужно будет ждать пару минут, пока пробрутфорсятся репозитории, сразу всё качается). Всё быстро, чётко, ясно.
    Юзается оно так:

    $ hpm oppm:install <имя пакета>
    

    Об остальных фичах читайте уже в мануале hpm, там всё есть.

    • Нравится 9

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

    Я не был бы так уверен. Во-первых, с футболом программ от игроков ждать придётся года два, а монетки собирать — это не такой сложный алгоритм (чего таить, простой).

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

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

     

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

    • Нравится 2

  17. Я за автономность пока что. А скукоту разгонять общением и оборудованием.

     

     

    Идей много, так-то. Щас покончим с одной фигнёй огромной, и всё внимание сюда переключу. Энтузиазм, мотивация пилить есть.

    Ну и надо делать карту на днях будет, сразу туда софт гонять. Кто-то предлагал хосты — можно на них поднять, тем более, что не особо огромный серв будет. А там перекатить можно, например, на сервер от @Alex, который, по идее, пилится.

     

    В IRC я там много чего уже высказал. В Трелле мы что-то подытожили, ничего критичного.

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