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

TraerTaer

Пользователи
  • Публикации

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

  • Посещение

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

    3

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


  1. но для усовершенствования осталось мало места программа занимает  4 083 байта из 4092, надо уменьшать код.

    Можно удалить комменты. Или склонировать прогу. Пробелы вроде тоже память едят. Если я прав то можно кирпичом программировать. Можно всякие переменные типо "robot" заменить на "r". Конечно глаза будут страдать, но зато будет крутая прога.


  2. ...

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

     

    Я тестил на скае своего робота. Задержки и прочее не помогало. Мне кажется в сингле таких проблем не должно быть.

     

    UPD: протестил в сингле прогу. Был прав. Мобы мешают пройти. Карьер кривеет. Вроде из-за пинга(на сервере) может лагать из-за сыпучих блоков.

    • Нравится 1

  3.  лучше бы заменить

    robot.swing(side)

    .Например, 

    while *чекаем блок по сайду(забыл)* do robot.swing(side) end

    Ибо 1) Роботы будут лагать в гравиях 2) Роботы на серверах иногда тупят и не ломают блок. Или не двигаются. 

    • Нравится 1

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

    Сейчас массив с данными выглядит так {{x, y, w, h, color, prochka, bonus(empty)}, ...{x, y, w, h, color, prochka, bonus(empty)}, {l(platforma)}}


  5. По просьбам начал лечить больного, а не пришивать ему еще ног.

     

    Проверка на кирпич. Выполняется при перемещении шара.

      for i = 1, #mass - 1 do
        if mass[i][1] < x + dx and mass[i][2] < y + dy and mass[i][1] + mass[i][3] > x + dx and mass[i][2] + mass[i][4] > y + dy then
          getKirpich(mass[i][1], mass[i][2], 111111111)
          if mass[i][1] < x + dx and mass[i][2] < y and mass[i][1] + mass[i][3] > x + dx and mass[i][2] + mass[i][4] > y then
            dx = 0 - dx
          elseif mass[i][1] < x and mass[i][2] < y + dy and mass[i][1] + mass[i][3] > x and mass[i][2] + mass[i][4] > y + dy then
            dy = 0 - dy
          else
            dx = 0 - dx
            dy = 0 - dy
          end
        end
      end
    

    Так же воспользовался советом Зеро. 

    if k4 == 203 and platformaS > 1 and k1 == "key_down" then
    
    event.listen("key_down", platforma)
    event.listen("key_up", platforma)
    

    Вроде все. Вот пастбин. http://pastebin.com/wAhE1B0s


  6. Если захочешь использовать одинаковые цвета - начнутся проблемы.

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

    Сделано хоть и нормально для OpenComputers компов, но в более серьёзных движках, это будет жёстким ограничителем, который будет мешать улучшать игру графически. Например я хочу сделать кирпичи которые будут радужными (менять плавно цвет), и с твоим подходом я не смогу осуществить их работу, так как у тебя стоит привязка к цвету.

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

     

    Дело твоё конечно, но твой метод определения столкновения не универсален.

    Я подумал... Можно. Использовать передний цвет и не писать символы. При этом цвет сохранится и можно будет найти кирпич. 


  7. TraerTaer, давай я сделаю тебе объект-кирпич, ты увидишь насколько это проще и возьмешь меня в соавторы

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


  8. Захочешь ты сделать кирпич, который не выбивается или выбивается с двух и более касаний, как ты это реализуешь анализируя только цвет экрана?

    Подобные игры - идеальный случай изучить ООП.

    В бета версии все в массиве. Цвет каждого кирпича, его прочность(0 - не ломаемый), координаты. Так же в массиве находятся конфиги карты. Например длина платформы. Пример массива {{32(plat), 2(speed)}, {1(x), 1(y), 10(w), 10(h), 321321(color), 0(prochka), X(bonus)}, {тоже}, {тоже}}

     

    В ООП вообще не шарю. И не знаю с чего начинать. Термины, наверно, учить. Но это геморно.


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

    Можно по координатам определять, когда происходит прикосновение. 

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

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


  10. PS Я бы кирпичи и платформу сделал объектами и при движении шарика анализировал не цвет экрана, а касание объекта.

    Слишком сложно. Я с этим не дружу. И разве определение цвета это не является опредением объекта? Как это должно работать? Я просто не представляю проверку.

     

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

     

    Буду работать над этим.


  11. Тестовый вариант игры арканойд. 
     
    http://pastebin.com/Pg8edkzJ - бета тест, рабочая версия(вроде)(всегда работает)
     
    Играть уже можно. Управление на стрелки. Вход на Enter. 
     
    Конфиги описаны в пастбине. Подробно.
     
    Планы для игры:

     

    • Чтение кирпичей из массива

      [/ok]

    • Меню загрузки карт

       

    • Редактор карт
    • Инсталлятор
    • Стартовая позиция шарика - платформа
    • [ok=Прочность кирпичей]
    • Бонусы
    • Кастомные карты

    меню (работает, но нужно создать для него инсталлер) http://pastebin.com/qCi7i5Ep
    арканойд, но уже с 1 пунктом (по сути библиотека) http://pastebin.com/WpwbGj4n
    Редактор карт требует доработки. Спасибо за создание его PandaDoddo.

    http://pastebin.com/wAhE1B0s - бета, постоянно обновляется.

     

    Байтика

    post-17430-0-41495400-1471546151_thumb.png

    • Нравится 3

  12.  

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

     

    Сам делал слизь? Она исчезает.


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

     

    Но сейчас же на скае есть какая-то валюта...


  14. Виии! Я кандидат в можераторы. 

     

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

    1) стак костей (быстрее рост тем более для чего-то они нужны, а получение - гемор)

    2) еда на ваш вкус (без яблок(!) ибо челендж)

    3) возможно ведро без содержимого(опять же помощь в развитии)

    4) немного земельки (опять же упрощение)

     

    еще немножко

    1) доработать пермишены(вроде сэинт предлагал помощь в этом деле)

    2) как я понимаю сундук вообще не нужен так что либо упрощать игроками игру по полной или убирать его вообще

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

     

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

     

    вроде все

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