
Tverd
01.03.2017
14:34:24
Ну да, я тоже так примерно подумал, ибо имена нужно сохранять

Snusmumriken
01.03.2017
14:34:43
Хе-хе, хитрости : 3

Tverd
01.03.2017
14:35:10
а есть же стандартный msgpack... он не то же самое делает?

Snusmumriken
01.03.2017
14:35:23
Msgpack? Это где?

Google

Tverd
01.03.2017
14:35:31
да ладно....
http://msgpack.org/

Snusmumriken
01.03.2017
14:35:51
А, видю.

Tverd
01.03.2017
14:42:12
Аля Хоспитал
А изометрия это прикольно, было бы интересно. Тогда 3д движок и не нужен

Snusmumriken
01.03.2017
14:42:17
Не, оно так не умеет. Обычный пакер json-like структур, просто очень хорошо сжимает.
Ну, это всё таки для сообщений. Сообщения - как правило - набор полей.

Tverd
01.03.2017
14:43:20
Ага, значит только таблицы... ну уже что-то все равно

Snusmumriken
01.03.2017
14:44:05
Дык простых пакеров таблиц - жопой жуй : )
Оно и пишется в десять строчек. Просто там только строки/числа/булеан/другие таблицы без колец.

Tverd
01.03.2017
14:44:26
зато кроссплатформенно и кроссязыково) но твою задачу это не решает, это уже понятно

Snusmumriken
01.03.2017
14:45:19
Ну да, есть такое дело : 3
Json - тоже кроссплатформенный и кроссязыковый.
Раньше эту роль исполнял xml. Это просто формат.
Ну, а msgpack - замутили то же самое но сжимающее.

Tverd
01.03.2017
14:56:26
Кстати, тут проскальзывало упоминание про таблицу из которой легко удалять элементы, не по индексу,а по значению. Где бы глянуть?

Philipp
01.03.2017
15:05:08
Ну, я нечто подобное организовывал через две хэштаблицы
Но это "в лоб"
И не особо удобно

Tverd
01.03.2017
15:05:59
ну критерии что бы быстро и соблюдался порядок, что бы можно было пройти как по массиву

Google

Philipp
01.03.2017
15:06:55
Ну я боюсь что-либо советовать, ибо уверен, есть какие-то схемы работы эффективнее моей)
У меня просто было две таблицы, одна возвращала ключ по значению, а другая значение по ключу

Tverd
01.03.2017
15:07:25
Хорошо, подумаю тогда, может что и выйдет ) спасиб

Philipp
01.03.2017
15:07:47
Чтобы порядок сохранялся - можно сделать обе таблицы стаком, снимая сверху и заполняя дыры

Snusmumriken
01.03.2017
15:12:53

Philipp
01.03.2017
15:13:17
Ну вот, я же говорил, что моё решение - в лоб)
Хотя идея с поиском мне в любом случае была бы не в тему

Group Butler [beta]
01.03.2017
18:09:41
Добро пожаловать в чат pro.lua, Paul! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.
Добро пожаловать в чат pro.lua, Sergey! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.
Добро пожаловать в чат pro.lua, Чай! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Alex Фэils?︙
01.03.2017
22:25:23
Починили

Чай
01.03.2017
22:26:17

Group Butler [beta]
02.03.2017
06:59:32
Добро пожаловать в чат pro.lua, igor! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Philipp
02.03.2017
07:12:29
С видом сверху

Ilya
02.03.2017
07:13:31
Ае госпиталь тайкун:)) на love2d?

Tverd
02.03.2017
07:22:20
не изометрия?

Philipp
02.03.2017
07:26:42
На лав2д
Если получится что-то годное готов и на ++ переписать

Google

Philipp
02.03.2017
07:27:03

Tverd
02.03.2017
07:27:16
Дык а как он появится-то? ))))))))))))

Чай
02.03.2017
07:28:38
Ты же 3D хотел?

Philipp
02.03.2017
07:28:39
Ну, если кто-то хочет писать игру с человеком, кто не шарит в изометрии...

Чай
02.03.2017
07:28:58
Ок.
Этот ты один пилишь?

Philipp
02.03.2017
07:38:00

Snusmumriken
02.03.2017
07:58:51
Изометрия - это просто.
У тебя может быть любое внутреннее представление игры (в виде данных), и произвольный рендер.
По сути, изометрия - это те же тайлы, разделённые на несколько слоёв, и рендерящиеся от самого глубокого слоя/самого дальнего от камеры объекта к более ближним. Ну, то есть, сверху вниз, справа налево, с нижнего слоя к верхнему.
Для крупных карт советую использовать спрайтбатчи и ffi-структуры, или либу типа этой: http://pastebin.com/unXUGUFW (я тут уже все замутил)
Ну, эта фигня рисует сотни и тысячи спрайтов в один drawcall

Tverd
02.03.2017
08:01:08
от молодца, спасиб, поковыряемся

Snusmumriken
02.03.2017
08:03:33
А, там в примере нет указания анимации. Без указания, оно будет отображать первый спрайт.
Тут оно может быть статическим и динамическим.

Snusmumriken
02.03.2017
08:06:01
Во, там что-то такое

Philipp
02.03.2017
08:14:13
Надо будет глянуть, спасибо

Snusmumriken
02.03.2017
08:21:00
Хех, тут очень много непонятных грязных хаков, вроде финалайзеров для удаляемых спрайтов, и странного способа запихивания в ffi-структуру ссылку на родительский грид, поэтому не обессудьте.
Но зато типа очень экономично.

Tverd
02.03.2017
08:27:18
это ты шейдеры крутил?

Philipp
02.03.2017
08:32:27
Так, глупый вопрос. У кого опыта много, лав2д для чего-то большего, чем прототипы подходит?

Snusmumriken
02.03.2017
08:32:55

Tverd
02.03.2017
08:33:16
Где шар переливается...

Google

Snusmumriken
02.03.2017
08:33:16
Где шар переливается...
Это не шейдеры, просто управляющие переменные.
Там анимация переливания, шестнадцать кадров.

Philipp
02.03.2017
08:34:04

Admin
ERROR: S client not available

Snusmumriken
02.03.2017
08:34:59

Philipp
02.03.2017
08:35:37
Собрать нужные либы я как-нибудь смогу :D

Snusmumriken
02.03.2017
08:36:29
https://github.com/love2d-community/awesome-love2d

Philipp
02.03.2017
08:36:52
Меня больше волнует то, как там реализован рендер и достаточно ли оптимизирован сам движок

Snusmumriken
02.03.2017
08:38:49
SDL. И дергание его функций напрямую. Тут нет оптимизаций движка, потому что нет движка :3

Philipp
02.03.2017
08:39:01
А, тогда замечательно
Хотя СДЛ я не очень люблю
Он ОЧЕНЬ странно ведет себя на Мак ОСи
Там какие-то дикие костыли потребовались мне, чтобы контекст 3.2 ОГла инициализировать

Snusmumriken
02.03.2017
08:40:04
Зачем такой большой огл? 3d?

Philipp
02.03.2017
08:40:11
И нормальный ГЛСЛ тоже криво как-то вел
Да и просто глупо инитить версии ниже
Там же многое изменилось
В самом огле
И много удобных вещей появилось

Google

Snusmumriken
02.03.2017
08:41:51
Ну, в спрайтовой части там мало что изменилось. И ловка даёт апишку 'детского' огла, что очень помогло мне поначалу.

Philipp
02.03.2017
08:42:21
В плане?
Что есть детский огл?

Snusmumriken
02.03.2017
08:44:09
В смысле, берем спрайт, и говорим: 'нарисуй его здесь, под таким-то углом'.
Или берем мешку, указываем ей точки, указываем текстуру и говорим ей, нарисоваться вот тут. Минимум байтоёбства.
Но можно писать шейдеры на glsl.
https://love2d.org/wiki/love.graphics.newShader

Philipp
02.03.2017
08:48:26
Хм, я просто изначально немного предвзято относился к лав2д. Но если он просто дергает сдл и всё, то насчет оптимизации нет смысла переживать

Snusmumriken
02.03.2017
08:54:47
Там еще luajit, набор либ для пользования всякими звуками/картинками/физоном/сокетами/настоящей многопоточкой и всего такого.
Ну, то есть, помимо SDL есть еще что-то по мелочи.

Philipp
02.03.2017
09:00:46
Тогда для 2д игрушек он идеально должен подходить
И не париться с Моаи ;D

Snusmumriken
02.03.2017
09:18:38
Должен подходить, но прикол в том что это не движок, и тут нет даже систем сущностей или редакторов сцен. Провоцирует на изобретение велосипедов. Да, есть комуночка, но все равно, велосипедостроение впереди планеты всей :3
Собственно, поэтому я и начал изучение с него. С одной стороны - свобода, с другой - куча действий чтобы даже менюшку организовать.
Да и ты сам видишь, на какие извращения пошел я, чтобы сделать оптимизированные анимации.
Успел написать в свое время написать кучу либ типа к конечных автоматов/систем состояний/быстрых векторов и всего такого. Самое популярное - на том пастбине.

Чай
02.03.2017
09:35:30
Впрочем, в написании велосипедов есть своя прелесть.

Tverd
02.03.2017
09:50:21