Ну бамп, не знаю.
Завтра добавлю превьюшки сейвов и binary shaders.
сажа
>>84584
Слишком очевидно, кто-то должен был это сделать :3
Сделал появление с вероятностью 1/15.
для профилактики
Механики нет игровой. Движок есть, контролсы есть. Игры нет. Займись же, почто работать вокруг ёбаного ничего.
>>84701
Кот бы порисовал... Пока рискую лишь найти композитора.
>почто работать вокруг ёбаного ничего
Ты не понимаешь сути движкописательства. ТЕМ БОЛЕЕ ЧТО С МОМЕНТА, КОГДА Я ДОПИЛИЛ СОХРАНЕНИЯ, Я МОГУ ПРАКТИЧЕСКИ ВСЁ!!1 (но лучше бы они были нормальными, как в скайриме, например, чем этот дотнет-стайл... эх)
Превьюшки не успел, днём как-нибудь, зато добавил поддержку Binary Shaders.
Такой-то буст скорости последующих загрузок, но... что за детский сад ваще, этим должен заниматься драйвер — всё равно же исходники зачем-то хранит.
Превьюшки сейвов! ^_^
Занимают треть остального сейва, лол.
>>84742
Н-но зачем мне тогда нужен будет /gd/?
>>84760
>Н-но зачем мне тогда нужен будет /gd/?
Потралить кириллов, неосиляторов и конструкторобыдло?
>d
Ага, лучший среди всех d.
>>84760
Там же Драке на бэкграунде?
>>84777
Капита~н.
Внезапный to-do: TrueType-шрифты. Возможно даже, рантаймовые.
=3
>>84788
АПЯТЬ? Кидай лог, выставляй в конфиге все allow* в false, кидай лог, работает — включай обратно по одному, кидай лог. На этих выходных потестирую на нвидиях, может быть. А вообще, очень вероятно, что такие проблемы — со стороны драйвера, это OpenGL, извините.
Смайлик малоинформативен, добавил бы чего. Какая хоть видеокарта? Давно драйверы обновлял?
>>84892
Ты чего такой злой? :<
Я вот играю в игру с великолепной графикой высокого разрешения, вышедшую в мае этого года, которая летает на моем компьютере 2005 года с драйверами 2007 года. А ты кряхтишь над недодемкой, которая кроме тебя ни укого не запускается в 2013. Гордись собой.
мимо
>>84894
во первых общаться можно и с сажей
во вторых где нормальное тех демо или прототип? кармакам место в /p/
в третьих я в каком то из тредов уже писал, что работать с ogl без привязки к определенной версии контекста это зло
>>84898 я че то проебал, а в чем соль? ты про версию именно контекста или про версию gl/glsl, или это одно и то же? например если я хочу юзать gl 3.2 но при этом glsl 1.30, какой надо контекст?
[000001371] VAO (Vertex Array Objects) не поддерживаются! Включаю эмуляцию.
[000001372] У тебя настолько отстойная видеокарта, что не может в инстансинг? Ок, я выключу его.
[000001373] UBO (Uniform Buffer Objects): не поддерживаются ;_;
[000001374] Direct State Access (DSA): не поддерживается, ну и ладно
[000001374] Binary Shaders: не поддерживаются. Why?..
[000001375] СЛИШКОМ старая версия OpenGL (2.0.6945 Release).
Чувствую себя униженным, сага в общем.
>>84902
я про версию контекста.
> gl 3.2 но при этом glsl 1.30
#version в шейдере укажи. желание не здоровое какое то.
>>84903
месаги на английском будут или все должны читать этот высер?
>>84913
>сиджей с анон.фм
>виртуалбокс запускает?
Говна въебал что-ли?
[000002809] Рендерер: ATI Radeon HD 2600 Pro AGP
[000002810] Версия GL: 2.0.6945 Release (старшая/младшая: 2.0)
[000002812] Версия GLSL: 1.10
[000000129] Класс окна зарегистрирован, имя: "/人◕ ‿‿ ◕人\"
В общем жду поддержки 2.0.
>>84915 ну так и что с версией контекста? "работать с ogl без привязки к определенной версии контекста это зло" -- какие-то подводные камни могут быть или что?
>#version в шейдере укажи. желание не здоровое какое то
да указал уже конечно, вопрос был про то как это сочетается с версией контекста
чем нездоровое? ты в курсе вообще какое железо у народа? выше 1.30 еще долго лучше не юзать, если не хочешь терять нихуевый кусок аудитории. или ты про смешивание версий? ну хочется юзать максимально что доступно в разумных пределах
>>84939
Лол, не слушай этого дурачка. Ниже 3.3 все deprecated.
>>84898
Во-первых, я попросил лог, >>84892 ну вообще не в тему.
Во-вторых,
>тех демо или прототип
check, будьте ж людьми.
В-третьих (хотя я тебе вроде как там же и отвечал), нет, ты серьёзно думаешь, что "привязка к версии контекста" заставит OpenGL-приложение работать там, где оно изначально не работало? Может, она указатели на функции поменяет, лол? Баги в драйверах — обязательная сертификация появилась только в GL4.4, ага — версия контекста ну никак не исправит, а до этого времени присказка
I want OpenGL server to talk to my programs like this:
— Do you support this extension?
— Yes.
Not like this:
— Do you support this extension?
— Yes
— Ok, lets see if it works
останется актуальной и для core-функциональности: Интел заявляет версии, которые не поддерживает, и, наоборот, у меня есть GL3.3-lvl GF 9500 GT, которая умеет почти весь 4.3.
>>84919
С некоторых пор английский в русскоязычной среде считаю хипстерством.
>>84939
Читай спеку GLSL, как минимум помню, что шейдерам ниже какой-то там версии запрещено линковаться с шейдерами высшей — наверное, их и в форвард контексте юзать нельзя. В остальных случаях смешивать версии можно. Но не нужно.
>>84914
Вон отсюда. И почему аутист? :C
Научился паковать атласы, пикрелейтед. Завтра посмотрю libfreetype.
>>84955
Давай игру делай, ну хоть запускать смысл будет. Ну пещера же тупо с зубастым пидором, которого я могу убить с читами, попутно завалив вторую сырну.
>>84939
у народа железо, которое тянет по крайней мере OpenGL 3.3 и выше, вылезай из погреба. AMD поддерживает 3.3 начиная с HD2k (2006 год), Nvidia поддерживает 3.3 начиная с GeForce 8k (2006 год). резюмирую: железо, купленное за последние 7 лет поддерживает как минимум 3.3 Core Profile. Что тебе нужно из ARB такого, что на древнем железе 2006 года не взлетает?
Зачем вручную грузить Core Profile процедуры и на каждом шаге проверять, что поддежривается, а что нет, если указывая нужную верси контекста тебе автоматически доступен заявленый в стандарте соответствующей версии API? Зачем делать левую работу мне не понятно.
>>84955
> check, будьте ж людьми.
какое чек? техдемо выпускают, когда поделка на целевых платформах хотябы запускается.
> хотя я тебе вроде как там же и отвечал
ты мне тогда ответил "мне так больше нравится", после чего я свалил из ущербнотреда. то, что ты не инженер, а хуй с горы и так понятно. прочитай еще >>84964
> Интел заявляет версии, которые не поддерживает
на Mesa линупсе что попало, а не версии opengl. на сперме - понятия не имею, но подозреваю, что циферки аннаунсит левые, да. только это никак не относится в софту, в README пишется минимальный класс карточек, на которых работает.
> С некоторых пор английский в русскоязычной среде считаю хипстерством.
на сырночане все такие уебаны? или ты софт для рунета онли пишешь?
>>84964
>Зачем вручную грузить Core Profile процедуры
Что тогда не "вручную", если подвендой единственный способ получить доступ к core-функции — *GetProcAddress?
>левую работу
Мне вот не влом проверить на NULL, честно.
>>84965
>понятия не имею
Ну так с этого надо было начинать, ты тратишь моё бесценное время. :3
>мне так больше нравится
Ну не за красивые же глаза. Жёпой читаешь, что ли, повторяться не буду (ладно, tl;dr: железки поддерживают больше, чем заявляют в версии, это киллер-фича OGL и глупо этим не пользоваться).
P.S.
>Версия GL: 2.0.6945 Release
>у народа железо, которое тянет по крайней мере OpenGL 3.3 и выше, вылезай из погреба
Я смотрю, у вас народ из отдельных людей и не состоит, шикарная логика.
>>84969
> GetProcAddress
во первых спермопроблеммы, в линупсе все линкуется искаропки. во вторых уже давно придумали удобный инструментарий, например glew. но ты же на паскале пишешь, о каких удобных инструментах может идти речь.
> Мне вот не влом проверить на NULL, честно.
20-30 раз проверить не влом? может на заводы пойдешь, а? там трудолюбивых не хватает.
> ты тратишь моё бесценное время
это твой тред, придурок.
> у вас народ из отдельных людей и не состоит
а он и не состоит. может еще и поддержку i386 впилишь? а то вдруг у кого то живое.
>>84964 из какого погреба блять? http://stats.unity3d.com/web/
>AMD
>Nvidia
интел на ноутах, слышал о таком?
олсо у меня на работе машинка с линуксом, не старая. естественно в ней интел. и glsl выше 1.30 на ней нихуя не пашет. а игра должна работать. у старая тачка с амд и линуксом. тоже не пашет, а должно. а дауны которые считают что изза некритичного сахарка или фич нужно дропать поддержку потенциально значимой части аудитории -- вот это вот говно, а не инженеры
> игра должна работать
не думаю, что у тебя в ТЗ это написано. да и ТЗ у тебя нету.
> интел на ноутах
на ноутах intel + nvidia, intel + intel. второе это ЦАП, а не графика. ноуты - не игровая платформа.
> вот это вот говно, а не инженеры
худей кукаретик
>>84973
а, проглядел. это вообще веб плеер, там дискретка не включится. закапывай свой высер где откопал.
Про что срутся все эти люди? Я нихуя не понимаю. Не запускается на некропека с линуксами? А может да и хуй с ним?
Да вы охуели. Имею дополнительно пеку с Radeon 9600, пеку с GeForce Ti4200 и еще одну пеку с GeForce 7600 + ноут с какой-то странной радеоновской видюшкой. Периодически включаю каждую машину и играю в старые игрушки и некоторые новые, вроде майнкрафта.
>>84971
>удивительные истории про паскаль, про инструментарий...
Охлол, теперь я слишком сомневаюсь в твоём уровне, чтобы отвечать.
>20-30 раз проверить не влом?
Я и так прекрасно знаю, что в юникс-сообществе нет культуры программирования в принципе
void force_gl_proc(const char* name)
{
void* fn = // ...
if (!fn)
throw VsePizdets();
return fn;
}
// или/и
struct { const char* name, void** ptr } all_funcs[] =
{
{ "glDrawCrusis", &glDrawCrusis },
{ "glFallToBSOD", &glFallToBSOD }
};
Дело, видимо, в том, что у школьника древний компьютер, на который он силится натянуть ГРАФОН, используя недокументированные функции хакнутых драйверов и разогнанную в три раза видеокарту, найденную на свалке лет десять назад.
>>85010
>тред прямо аттрактор дебилов
А как бы иначе ты тут оказался?
>>85022
Ну чо, милости прошу к дебильному шалашу. Теперь и ты дома.
>>84955
>libfreetype
Дизайн либы как земля (впрочем, libpng никто не переплюнет), разве что работает.
← Такой-то шрифт, а русский для галочки прикрутили.
>>84955
На случай, если ты не видел:
http://code.google.com/p/freetype-gl/
Я этим делаю шрифты:
http://www.angelcode.com/products/bmfont/
Есть куча библиотек, которые поддерживают такой формат. Впрочем, все они говно и я навелосипедил свою на основе http://code.google.com/p/bmfontgl/ .
>>85191
Угу, оттуда и стащил алгоритм построения)
Доделал шрифты за 2300. С адаптивными ленивыми атласами. :3
Перестройка атласа может быть медленной и это исключительно моя вина, послезавтра оптимизирую всякие там блиты изображений: [исразуденормализация]SetPixel(Combine([нормализация]GetPixel())) — это несерьёзно.
>>85331
...И сразу узнал о существовании кернинговых пар. :-\
Есть примеры, как вытащить их из TTF (вручную)?
>>85349
// ------------------------------------------ texture_font_generate_kerning ---
void
texture_font_generate_kerning( texture_font_t *self )
{
size_t i, j;
FT_Library library;
FT_Face face;
FT_UInt glyph_index, prev_index;
texture_glyph_t *glyph, *prev_glyph;
FT_Vector kerning;
assert( self );
/* Load font */
if( !texture_font_load_face( &library, self->filename, self->size, &face ) )
{
return;
}
/* For each glyph couple combination, check if kerning is necessary */
/* Starts at index 1 since 0 is for the special backgroudn glyph */
for( i=1; i<self->glyphs->size; ++i )
{
glyph = *(texture_glyph_t **) vector_get( self->glyphs, i );
glyph_index = FT_Get_Char_Index( face, glyph->charcode );
vector_clear( glyph->kerning );
for( j=1; j<self->glyphs->size; ++j )
{
prev_glyph = *(texture_glyph_t **) vector_get( self->glyphs, j );
prev_index = FT_Get_Char_Index( face, prev_glyph->charcode );
FT_Get_Kerning( face, prev_index, glyph_index, FT_KERNING_UNFITTED, &kerning );
// printf("%c(%d)-%c(%d): %ld\n",
// prev_glyph->charcode, prev_glyph->charcode,
// glyph_index, glyph_index, kerning.x);
if( kerning.x )
{
// 64 * 64 because of 26.6 encoding AND the transform matrix used
// in texture_font_load_face (hres = 64)
kerning_t k = {prev_glyph->charcode, kerning.x / (float)(64.0f*64.0f)};
vector_push_back( glyph->kerning, &k );
}
}
}
FT_Done_Face( face );
FT_Done_FreeType( library );
}
>>85331
>оптимизирую всякие там блиты изображений
done
>>85360
Угу, я слепой, не заметил FT_Get_Kerning, могу оправдать себя разве что тем, что не хотелось дальше ковыряться в этом добре. Спасибо.
Так что и
>кернинговые пары
done
Алсо.
(Сейчас покажусь наивным...)
Еду сегодня в метро. Рядом сидит дедок и что-то читает.
Наклоняюсь ближе и вижу, что читает он ВНЕЗАПНО пейпер по CUDA, на английском, конечно.
Это разрушило все мои стереотипы о дедках.
Но вот незадача — следующая станция была его, а я выйти за ним взять контакты не сообразил, хотя не так уж торопился. Успел только перекинуться парой слов — "кудой занимаетесь? — крууть, я тоже GPU мучаю, но до куды не дошёл ещё". Ищи теперь ветра в поле.
Дедок, если читаешь это (ну вдруг) — назови свою станцию и отпишись, есть вопросы.
To-do: оптимизации источников света (затухание & склеивание, размазанные во времени). По-хорошему ещё нужен окклюжн куллинг, но пока забью. А вот дальше что... Хм... Наверное, сделаю уже нормальные формы дверей и ваултов вместо нынешних затычек.
>>85552
NO
Лучше сделай мало-мальскую аркаду на своём движке и расшарь, побегать хочется.
Что-нибудь типа пакмана, только сырна и пещеры.
>>85561
Не хочу аркаду, хочу тру-эрпоге.
Алсо.
До сих пор (http://sourceforge.net/projects/rr-rr/files/rr%200.0043_bishop.rar/download) воспроизводился шикарный вылет, следующий из всей моей архитектуры со скриптовыми обработчиками:
Новая игра → Сохранить → Загрузить → Меню → Новая игра → Сохранить(!) → SIGSEGV НАХУЙ.
Та же ошибка приводила к "утечкам памяти" (в терминах управляемых языков) при повторных сохранениях/загрузках.
Исправил. ^_^
Интереса ради вынес оконный цикл в отдельный поток, но получилось мега-нестабильно (в смысле, у меня-то работает...), потестите, что ли.
Если моргает/падает/дедлокается/whatever изначально, но работает с window.allowMT = false (в конфиге), или, тем более, не работают оба варианта, тогда как с предыдущей версией (http://sourceforge.net/projects/rr-rr/files/rr%200.0044_true_type.rar/download) всё хорошо — доложить и назвать конфигурацию.
Особенно меня интересует XP, но её поддержку я случайно дропнул (goddamned VS 2012), дообновлю студию — верну.
>>86756
Когда зопилишь поддержку 1,3 opengl?
юзай кароч glBegin, glEnd)))
>>86757
Я серьёзно, между прочим. Пока на единственной XP под рукой моргает (повторюсь, подождите проверять на XP, хотя нужно) и на всех Win7 работает, и я не уверен, дело в XP (лучше бы в ней), драйверах (НЕ ХОТЕТ) или во мне (50/50).
Вернул поддержку XP, у кого есть под рукой — проверяйте с window.allowMT = true (!). В идеале изначально должно работать, а с allowMT мерцать — тогда дело наверняка в этой их новой модели драйверов.
>>86766
>Вернул поддержку XP
С охуением узнал, что эту рухлядь ещё активно используют.
http://en.wikipedia.org/wiki/Usage_share_of_operating_systems
>>86767
Если понадобится, дропну, но пока мне несложно отключить поток или фолбэкнуться на критические секции в отсутствие SRW locks. (Кстати, надо будет так же попробовать condition variables вместо ивентов).
>>86758
БАБАХ, пилишь игрушку для узкого круга лиц, да и я на хр.
Коль скоро мне никто никогда ничего не порисует, переписал события на Condition Variables, кроме тех, что задействованы в WaitForMultipleObjects (реализовать можно, неэффективно: http://stackoverflow.com/questions/2719580/waitforsingleobject-and-waitformultipleobjects-equivalent-in-linux/7782618#7782618) и, как частный случай, MsgWait* (а здесь вообще без вариантов). У меня работают раза в 2 быстрее.
И всё же, какую семантику выбрать — Event или CV? И можно ли в рамках CV достичь эффекта WFMO(bWaitAll == FALSE)?
Пока выскажу свои мысли.
Явная фишка CV в том, что в момент пробуждения предикат верен И поток держит блокировку. С другой стороны:
— не факт, что это та самая блокировка, или что нужна только одна;
— можно и с событием либо перепроверить предикат, либо юзать автосброс;
— про WaitForMultipleObjects уже сказал, хотя скорость не замерял, признаюсь.
Но это диванные домыслы, хочу мнение знатоков, если таковые здесь есть, конечно. (чёт сомневаюсь... ;3)
Таки добавил в движок CV наравне с событиями.
На XP эмулируются (http://www.cs.wustl.edu/~schmidt/win32-cv-1.html).
CV — классные.
^_^
Ну хоть сырну запости свежую.
>>89347
Сырну ебут арбузами, разве не очевидно? Мимими.
Круто.
Запиливание мыла сглаживания планируется? А то лесенки же.
>>89344
^_^
Добавил:
— Поддержку геймпада (USB HID API). Пишите багрепорты. В общем случае (не-Dual Shock) рассыплется, я что-нибудь придумаю.
— СЛИЯНИЕ источников света — пока выглядит весьма так себе, позже доведу до ума. Просто оптимизация в отсутствие DS.
Также с этого момента (и пока снова что-нибудь не сломаю) должно работать на Intel HD 4000.
Ладно, хватит ерундой заниматься.
>>89454
Я хотел поковырять MSAA для рендертаргетов года так 2 назад, но потом мне прострелили колено. Всё ещё хочу. Честно. В другой раз. (Я же уже сказал про ерунду?) Если бы шейдеры не различали обычные и мультисэмпловые текстуры, было бы элементарно, а так... Об эмуляции (рендер в увеличенную текстуру + downsample, etc.) даже говорить не хочу, она по сравнению с MSAA жутко медленная.
>>89386
Аватарка Эксель :3, где-то на этой доске ты заявил:
>Да-да-да. Когда я с iichan.ru/to/ делал йоба-тохоту, сырна ещё в пелёнки был укутан.
Можно поподробнее?
>>89457
> Можно поподробнее?
Я уж не помню, сидел ли ты в тохе тогда или нет, вроде ты в бэ свой тред двигал, там ещё танк в закате на оп-пике был. Ну кароче в /to/ была нехилая движуха, сакуры, барьер, прочие няшности, но всю работу в конечном итоге свалили на меня, а у меня настойчивости не хватило доделывать. Такая вот хуйня.
>>89476
>там ещё танк в закате на оп-пике был
Лол. Я фанат того товарища, можно сказать, изначально им и вдохновлялся, но я не он. И до него мне до сих пор фапать и фапать, что уж говорить о конце 2010, когда мои успехи описывались пикрелейтедом.
>Ну кароче в /to/ была нехилая движуха
Что-то типа недавней эпопеи на 6 или сколько там тредов (http://iichan.hk/to/arch/res/136879.html)? Жаль, похоже, я это пропустил.
Резюме: не думал, что признаю справедливость твоих слов насчёт пелёнок, но... ;_;
Кстати, шырна-хуирна, тебе модельки с картинок не нужны?
Кроме того, есть большой пак накачаных архитектурных моделек на японско-китайскую тематику, но там без текстур.
>>89526
Без нормалей у тебя бы моделька отрендеренная полностью черная была бы.
И нахуй твои модельки с картинок кому нужны, 3 цилиндра и 4 бокса, охуеть ваще. А за такое освещение и постпроцессинг, как на картинках, пизды надо давать, ты не в Valve работаешь.
>>89534
>Без нормалей у тебя бы моделька отрендеренная полностью черная была бы.
Охуенно сумничал.
>за такое освещение и постпроцессинг, как на картинках,
А, нет, просто лишнюю хромосому продемонстрировал.
>>89526
Модельки и правда примитивные.
>большой пак накачаных архитектурных моделек на японско-китайскую тематику
ДОВАЙ. ИХ. СЮДА. Пусть и не будет где применить немедленно.
...А прежде чем заниматься не-ерундой, попробую второй фон менюшки нарисовать.
>>89534
> Без нормалей у тебя бы моделька отрендеренная полностью черная была бы.
Да ахуеть, ты такое на форуме UDK спиздани, ясное блять дело что имеется в виду КАРТСУ СУКА НОРМАЛЕЙ, весь интернет уже говоря о нормалях имеет в виду КАРТЫ, а не вертексные нормали, когда поледние заботят только велосипедистов, а как известно, велосипедист хуже Кирилла.
> И нахуй твои модельки с картинок кому нужны, 3 цилиндра и 4 бокса,
Мудак блять галимый, пиздуй смотреть модели Unreal 3 или Gears of War без карт и текстур, мудило тупорылое, а потом прибеги покукарекай что в WoW МАЛА ПАЛИГОНАВ!!11 Да они для ММО делались, где твои доводы теперь.
> А за такое освещение и постпроцессинг, как на картинках, пизды надо давать
Тебе. Охуенное освещение и охуенный постпроцессинг, вполне и очень подходит для волшебной и красочной атмосферы Прожект Тохо.
А вообще иди нахуй.
>>89546
http://rghost.net/49641486
Держи, но только их половину придётся разворачивать, но сами модельки вроде нарм. Единственное что - у них непропорционально распределены полигоны, плюс они разбиты по частям, хотя для тебя, может быть, это и не проблема, или даже вдруг плюс.
>>89573
Спасибо! Выборочно посмотрел, хорошенькие.
К слову о применении: google → dungeon crawl portal vault.
Лирическое отступление. Говорить об этом сейчас с моей-то слоупочностью означает мечтать, но предвижу секс с выгрузкой уровня. Ведь если в момент входа в портал игрока кто-то преследовал, этот "кто-то" держал на него ссылку. Сохранять-таки ненужного игрока, а при восстановлении грубо заменять "настоящим" — плохо. Добавлять всем какой-нибудь on_save_level() — тем более плохо. Эх, что-то теперь мне идея с сохранением массива объектов сцены с минимально необходимыми состояниями (т. е. только POD или ссылки на такие же объекты, а не прям весь низкоуровневый граф) кажется даже красивее. Попробую после >>89546 (без паники, по ощущениям работы несравнимо меньше, чем с сериализацией), если заработает — я потратил пол-лета впустую. ;_;
>КАРТЫ, а не вертексные нормали, когда поледние заботят только велосипедистов
Строго говоря, что-то около 100% карт нормалей выражены в локальных координатах, а значит, им понадобится базис касательного пространства, вычисляемый в том числе из нормали в вершине.
>>89615
Так ведь когда игрок уходит с карты, его надо оттуда убирать. И ссылок не будет.
>>89573
>весь интернет уже говоря о нормалях имеет в виду КАРТЫ
Да я на хую интернет вертел. Нормальные люди говорят normal map.
>Мудак блять галимый, пиздуй смотреть модели Unreal 3 или Gears of War без карт и текстур, мудило тупорылое, а потом прибеги покукарекай что в WoW МАЛА ПАЛИГОНАВ!!11 Да они для ММО делались, где твои доводы теперь.
Да мне похуй, что у них там, я против лоуполи ничего не имею. Я конкретно про твои недомодели говорю, которые даже, блять, обезъяна в 4 клика сможет сделать. Один хуй у тебя там и геометрия и текстуринг уебанские.
>Охуенное освещение и охуенный постпроцессинг, вполне и очень подходит для волшебной и красочной атмосферы Прожект Тохо.
Для долбоебов-семиклассников, ШТОБ КАРТИНКА КАК В КРУЗИСЕ. Так же модно сейчас взять хотя бы поделку аватарки, со спизженными модельками, школьной озвучкой и вырвиглазной картинкой, прям игра ААА-класса. Я тебе повторяю, ты не в Valve работаешь, и не в Blizzard, и не в Crytek.
>когда поледние заботят только велосипедистов, а как известно, велосипедист хуже Кирилла
Да уж лучше велосипедистов называться, чем безграмотным уебаном, называющим себя РАЗРАБОТЧИКОМ ДЕВЕЛОПЕРОМ Я ИГРЫ ДЕЛАЮ, путающим нормали вершин и карту нормалей и умеющего только мышкой ассеты таскать.
>>89683
Но он же не путает, если ты включаешь умника там, где не просят, то закономерно тебе проведут залупой по губам, что и случилось. Тряпочку носи.
>>89683
> Да я на хую интернет вертел.
Весь интернет вертел мамку твою на хую.
> Нормальные люди говорят normal map.
Нормальные люди недоёбываются когда понимают смысл. И вообще, пиши "Карты нормальных людей" раз ты такой еблан воинственный.
> Я конкретно про твои недомодели говорю, которые даже, блять, обезъяна в 4 клика сможет сделать.
Хуй тебе обьяснишь, ты ж дурак, просто смотри картинку. И иди нахуй.
> Я тебе повторяю, ты не в Valve работаешь, и не в Blizzard, и не в Crytek.
А тебя ебать не должно где я работаю. С хуя ли мне не делать колор грейдинг если я не из Valve, (...) ?
Поглядел нынешнюю йобу, сделал яркий построцессинг с ДоФом, в чем предьява?
> безграмотным уебаном
> путающим нормали вершин и карту нормалей
> умеющего только мышкой ассеты таскать
Отвечай за слова.
>>89683
>взять хотя бы поделку аватарки
Но ведь у аватарки самый крутой графон был, тем не менее. И спиздил он только трактор, по его признанию, а остальное руками. В его игре зато душа была, на мой взгляд. Я тут на гдачах помимо аватарки только зомбираннер-куна еще уважаю, ну и косморогалик по скринам ламповым кажется. Остальные какую-то хуйню лепят, в плане визуальной составляющей.
Про_дизайнер
Бля буду, я не аватарка
>>89788
>Бля буду, я не аватарка
Ну кого ты тут обманываешь?
Паскаль говно. Free Pascal говно. Не используйте никогда эти фекалии!
не_смог_вчера_запустить_DiabloRL_под_прыщами-кун
>>89926
Потому что арбузы лучше чем ты, очевидно же.
;_;
В следущий раз назови свой тред правильно:
Официальный тред любимых проно и эротических картинок №2.
Для гд будет очень оригинально.
>>90290
Может нам ОПа этого треда в /б/ отправить? а сюда накидать ему черных няшек, пускай пофапает. Все равно с него толку 0 - хоть бы своими скринами бампал, глупенький.
>>90330
ОПа в /б/ отправлять не нужно, в /б/ нужно отправлять залётных петухов типа тех, кто хочет отправить ОПа в /б/. Но про скрины всё верно. Хотя Сырны тоже норм, я даже пак стал собирать из картинок.
>хоть бы своими скринами бампал
как он может бампать своими скринами, если игоря не запускается даже у самого ОПа.
>>90412
Баками, баками бампает пусть!
Бля, охуенную из /по/потана принёс.
>>90393
> в /б/ нужно отправлять залётных петухов
Это, тысячу раз это. Как же заебали, блять.
Может это ОПы говнотредов про конкурсы никак не успокоятся?
Ещё какие-то там мелочи хотел попробовать: выпилить widestring (i. e. заставить строковые литералы с юникодом разворачиваться в UTF-8 ansistring), исправить яркость объединённых источников, что-то ещё, нувыпоняли. Так что чуть позже выложу.
>>90330
Пощу же, изредка. /b/ этой борды отвратителен, нравится — сам и сиди.
Полностью и навсегда убрал из движка widestring. ^_^
(Приходилось использовать, потому что FPC принудительно делает литералы с юникодовскими символами widestring'ами, но я нашёл, как это обойти. Надеюсь, в следующих версиях будет работать изкоробки).
Дельфи идёт в неверном направлении со всей этой рантаймовой чехардой с кодировками, а всё потому, что некоторым идея юзать UTF-8 для всего и не париться кажется "не солидной" (сам видел).
Остальное из >>90825 сделаю ещё позже, устал.
>>90888
Мы тебе, конечно, верим.
Разве могут быть сомненья?
Но и ты пости картинки.
Демки, йобу эту всю.
Йобу эту всю.
>>90888
>Дельфи идёт в неверном направлении
угу, кобол тоже :(
>>90888
> некоторым идея юзать UTF-8 для всего и не париться кажется "не солидной"
При чем тут "солидность", если это банальный убогий недокостыль. Зачем он нужен, если можно строки сразу паковать по самым современным LZMA алгоритмам. Такая-то экономия места и эффективность, а главное, на переднем крае хайтека.
Нутром чую, >>90907 хотел мне что-то сказать...
>>90915
Не хочу начинать кодировкосрач, но utf-16 — сочетание недостатков utf-8 (переменная длина символа) и utf-32 (endianness, оверхед по памяти). Её выбор для винапи, java/.net, питона, Qt — историческая ошибка.
>хватит ерундой заниматься
Прикрутил асинхронный I/O (точнее, O ^^"). Больше не буду, займусь >>85552. Наверное, стоило делать генерацию в 3D... только такие карты ascii-артом уже не опишешь.
>>91131
И да, понапридумывайте мне ваултов aka кусков уровня.
>>91135
Слева мой вариант, справа — DCSS, на который я равняюсь. С той разницей, что у меня это лишь подсказка алгоритму генерации, объекты выставляются отдельно. Короче, для каждого куска меня интересуют внешний вид + что внутри — допускается что угодно, всё равно я ещё не сделал ни черта ^^, в т. ч. 1.5-двусторонние порталы в мини-уровни.
>>91144
А делать-то что? В блокнотике аскирисовать леволы что ли? Это же скушно!
>>91150
Не в блокнотике
просто рисуй
>>91166
Ну левелдизайн в миниатюре, я не знаю, что ещё добавить. --"
Ладно, сам (тоже) чё-нть придумаю.
Или сначала threadpool прикрутить?.. :'-D
>>91169
Делай что хочешь, всё подойдёт. Ты там решил игру что ли прикрутить к своему движку? Раз уж о левелах пошёл разговор.
Сделал воду вотъ.
Потенциально не сильно сложно прикрутить искажения от погруженных / движущихся объектов, но мне лень.
(Гуглить тоже лень, можете кинуть примером).
С геометрией волн хуже: такая-то граница с воздухом накроется.
Что до плавучести — buoyancy в Newton не то сломана, не то я масштабы не рассчитал, позже доразберусь, а пока полузатычка.
>>92302
Именно эта сцена сильно напомнила ультиму 9. Текстуры в пещере, ящики, вода, графон в целом, эх, ностальгия. Разве что мыльца у тебя многовато.
Алсо, вот вам задачка, подумайте за меня, хорошо? :3
Почему-то перевод самой плоскости воды не сработал (я сделал это неправильно?). Завтра ещё раз попробую, т. к. проецирование матрицей — костыль, хоть и работает (>>92302).
>>92346
Я хотел сказать, вообще прямая по двум точкам — костыль.
>>92346
Ничего не понял - работает забей на костыли, до тех пр пока на них не наступишь :3. Рисунок класно сделан.
>>92367
Предпочитаю не наступать вообще.
Проблема решена: переводим плоскость воды в базис AOB и берём за коэффициенты линии A, B, D. Сразу так и сделал, просто "забыл", что нормали в базис по-другому переводятся:
[b]function[/b] tPlane.ToBasis([b]const[/b] o: tVec3; [b]const[/b] basis: tMat3): tPlane;
[b]begin[/b]
[b]result[/b] := Make(basis.GetInverse * (AnyPoint - o), basis.GetTranspose * normal);
[b]end[/b];
Да
Алсо, тебе не сложно разъяснить, что такое базис?
Просто мне тоже интересна эта тема. Что за проблема-то была вообще, можешь подробно описать?
>>92494
Те же два умножения матриц, еще и getinverse, который почти наверняка инвертирует матрицу по гауссу вместо транспонирования, что вообще адово долгая и неточная операция. В итоге из нормального метода (скорее всего, не знаю как ты там до этого делал) сделал нечитаемое неэффективное говно. Подозреваю, весь твой велосипед из этого состоит.
>>92499
>почти наверняка инвертирует матрицу по гауссу вместо транспонирования
Себя транспонируй, базис не нормированный.
К тому же о скорости речи не идёт, т. к. эта операция выполняется раз в кадр.
Способ по двум точкам, хотя и работает, некрасивый и вырождается при плоскости воды || OY камеры (учёт частных случаев ещё и сделал бы его монструозным):
a := Vec2(Homo3(cam.ProjectionMatrix * Vec4(camera.viewTransform * PlanesIntersection(frustum.NearPlane, frustum.LeftPlane, water^.Plane), 1.0)));
b := Vec2(Homo3(cam.ProjectionMatrix * Vec4(camera.viewTransform * PlanesIntersection(frustum.NearPlane, frustum.RightPlane, water^.Plane), 1.0)));
if (a.x <> Infinity) and (a.x <> -Infinity) and (b.x <> Infinity) and (b.x <> -Infinity)) then
line := LineEquation(a, b)
else
line := Vec3(0, 0, -water^.Plane.SignedDistance(cam.pos));
cam.gl.values.Value('water_plane', GLtype_Vec3, 1, [glv_NonSerializable])^.SetVec3(line);
Добавил поддержку автоматически построенных атласов всему GUI (не только шрифтам) — раз.
Запилил СПЕШОЛЫ шейдеров наравне с флагами — два.
Что за.
По сути те же флаги, но с отличной семантикой (здесь должно быть какое-то другое слово).
Флаги — битовая маска. Следовательно, их пространство ограничено (размер битовой маски), зато сущность легко может "включить" произвольный набор.
СПЕШОЛ — число. Поэтому вариантов СПЕШОЛОВ может быть сколько угодно, но использовать за раз можно лишь 1... ну или позже может пригодиться задание отдельного СПЕШОЛА каждой засветившейся в батче сущностью — материалом, объектом, чем там ещё; в любом случае, жёстко заданный максимум, не сильно превышающий 1.
Пример.
Флаги: "бамп", "свечение", "скелетка".
СПЕШОЛЫ: "объект является качающимися мухоморами", "у объекта плавятся крылышки". То есть нечто такое, что может превысить разумные ограничения на количество флагов, а комбинировать особого смысла нет.
To-do: Lua-консоль.
>>93202
>Lua-консоль
Сделал (РЕДАКТОРА-ТО НЕТ). Поддерживает IME и вообще вместо какой бы то ни было самодеятельности спрашивает символы у системы (WM_CHAR), так что по идее должно печататься всё то же, что в блокноте (с точностью до шрифтов).
Каждая строка немедленно выполняется в окружении трёх переменных:
— game; game.scene.phys.gravity = Vec3(0)
— con; con:Write(), con:Clear(), псевдонимы — print, cls
— mm; mm:Pause(), mm:BGM_switch()
Окружение поддерживается между вызовами (ara на пикрелейтеде).
To-do: выбирать объекты / координаты мышкой?
Я уже говорил, что с сериализацией надо что-то делать. Около часа выяснял, почему консоль пытается сериализоваться, не находясь явно в графе "игровых" объектов, а в GUI помеченная как NonSerializable.
В кококонкурсе будешь участвовать?
>>93688
Можно, но я не умею делать иг там и без меня весело.
>>93694
Запилишь технодемку, назовёшь игрой - делов-то. Может игры хоть начнешь делать.
Вот я когда абстрактно велосипедил, очень потом обламывался о непродуманные интерфейсы и общее отсутствие гайда "Как делать игры? Из чего они состоят?". Половину вилосипеда пришлось переделывать, а другую половину викидывать. Я так на все и забил. Лучше бы ты игру делал - и сразу под неё узкоспециализированый движок.
>>93702
>игру делал
>узкоспециализированый движок
На ноль делите господин, либо игру делаешь либо движок.
>>93708
No.
Сначала игру в экселе - потом движок - потом игру на нем.
>>93708
Я смотрю, тебе /геде неплохо так в голову насрало.
>>93718
геде его уму разуму научило, абсолютную истину говорит
Оставьте его, сырна и раньше говорил, что делает сферический движок в вакууме, и его не волнует, что на нем никогда не будет игр.
Делают же люди ЯП, на которых никто не пишет? Чем движок хуже?
>>93783
> Два.ч — Игрострой
Что-то я не вижу надписи "Движкострой". Для программинга есть /pr
>>93786
Руки жирные от Сырны убрал, чмоша.
>>93786
Аватарок нельзя выгонять, даже если они выпали из /pr/
>>93772
>истошное блеяние мелкобуквенного быдлошкольника
Ясно.
Самая корректная модель бликового освещения из известных мне на данный момент, учитывает кривизну поверхности, коэффициент Френеля и взаимозатенение "микрограней". Позже все более-менее известные перепробую.
Также на SM3.0-железе шейдеры теперь не гнушаются честных for'ов по юниформам, это снижает комбинаторный взрыв, но там, где for неприменим, по-прежнему для каждого варианта генерируется отдельный шейдер. Впрочем, это обычная практика. Актуально для источников света.
Поиграл немного. Круто все, чо. Без карты трудно ориентироваться, т.к. все одинаковое и темное. Фактически внимание сосредотачивается на миникарте, но и там очень тяжело понять, куда идти.
Как сделан полет не очень понравилось, все время лицом в стены влетаю.
Воду не нашел, она у тебя в релизе есть? Вроде я был на этом месте с последнего скрина.
Как ты делаешь уровень, у тебя редактор какой-то, или он генерируется?
>>94684
Текущее окружение — затычки, я его полностью переделаю. Когда-нибудь.
>внимание сосредотачивается на миникарте
И туман войны добавлю, да.
>Как ты делаешь уровень
Генерирую из готовых кусков. Этого достаточно, тем более задача генерации полностью случайных секций или хотя бы переходов в 3D выглядит... нетривиальной.
>Вроде я был на этом месте с последнего скрина.
Если ты в этом уверен, то, возможно, не скомпилировался шейдер воды. Запусти debug-версию, повертись по сторонам и поищи по логу water.v / water.f — если есть ошибки компиляции/линковки, давай их сюда.
Допилил более плавную границу с берегом, "пену" (I tried...), сплаттинг (переход в текстуру дна) и знаменитый трюк с хранением карт нормалей в DXT5. Время доделать инвентари и контейнеры. Уже сейчас предмет может состоять из произвольного набора "примесей" — ну там, съедобный с количеством использований, книга с текстом, метательное оружие — но вот незадача, это всё нипаюзать. ( ´_ゝ`)
[000014641] Компиляция шейдера "water.v" (флаги: Ø)... Шейдер "water.v" (флаги: Ø) скомпилирован
[000014886] Компиляция шейдера "water.f" (флаги: [o]F8-Sp5)... Шейдер "water.f" (флаги: [o]F8-Sp5) скомпилирован
[000014991] Линковка "water" (флаги: [o]F8-Sp5)... Ошибка линковки "water" (флаги: [o]F8-Sp5)!
[000015228] ***
[000015228] Лог линковки "water" (флаги: [o]F8-Sp5):
[000015229] Vertex info
[000015229] -----------
[000015229] error: inconsistent offset within UBO of uniform variable (named mvRot) between shaders
[000015229] #0
[000015229] ***
[000015230] Шейдер "water.v" (флаги: Ø) уничтожен; Шейдер "water.f" (флаги: [o]F8-Sp5) уничтожен; Шейдерная программа "water" (флаги: [o]F8-Sp5) уничтожена;
>>94820
Ну да, бывает, поленился где-то ещё тестировать. Можешь перескачать архив, можешь извернуться:
— качаешь https://sourceforge.net/p/rr-rr/code/HEAD/tree/sup/utils/all/vfsPk.exe?format=raw в корневую папку проекта (ибо ей нужны lib/).
— качаешь https://sourceforge.net/p/rr-rr/code/HEAD/tree/shu-work/data/GL/影/water.影?format=raw
— перетаскиваешь data/GL.pk на vfsPk.exe, получаешь data/GL/
— заменяешь data/GL/影/water.影 новым
— аналогичным образом запаковываешь data/GL обратно.
>>94829
Извернулся, заработало. Норм вода получилась, правда артефактит по краям, но ты там вроде менял что-то в последнем релизе, так что наверное не считается.
Из графонистых фичей мне понравилось преломление света в льдинках на спине. Я подобного не припомню даже в ААА играх. Наш ответ path tracing'у, так сказать.
Спокойной ночи, /gd/.
И этот бампну.
>>96147
Нинад меня бампать, я, по-видимому, возьму паузу, поменьше той, что в июне-июле, но суть та же. КАК?! УЖЕ ДЕКАБРЬ?!! А ЧТО Я СДЕЛАЛ?!?!?!71[/spoiler]
>>96178
Ну круто теперь. Чем надо было думать, чтобы заменить [/b] на 71.
https://sourceforge.net/p/rr-rr/code/HEAD/tree/res/blow_with_the_fires.ogg?format=raw
>>96178
>Нинад меня бампать
Я реденько, а то смоет, тут таких тредов больше нет.
Квадриплобамп бакина треда.
Как вплотную (минимум — просто красиво) раскидать на плоскости N окружностей различных радиусов?
>>99749
Поместить вплотную третий круг к уже двум стоящим вплотную кругам довольно просто. Стороны все известны (суммы радиусов соседних кругов), углы решаются через теорему косинусов. Надо только всё это засунуть в цикл теперь и всё. Но, думаю, есть готовое решение попроще. Просто - первое что в голову пришло.
>>99749
Вот ещё, в догонку:
http://mathworld.wolfram.com/CirclePacking.html
>>99760
Как вариант можно ещё это:
http://stackoverflow.com/questions/17661679/position-resizable-circles-near-each-other?lq=1
>>99752
Угу, не догадался про обычный жадный алгоритм и нагуглил аж http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9B%D1%8E%D0%B1%D0%B0%D1%87%D0%B5%D0%B2%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%E2%80%94_%D0%A1%D1%82%D0%B8%D0%BB%D0%B8%D0%BD%D0%B6%D0%B5%D1%80%D0%B0 (что-то похожее в >>99763).
>>99760 — так ещё симпатичнее, но лень разбираться. ^^
В общем, поздно вернулся к проекту и вряд ли успею к НГ всё, что хотел, зато уже есть инвентари, не висящие в воздухе, но привязанные к персонажам (press X) и автоматически дропающиеся при уничтожении. (Не принципиально, но когда запилю контейнеры, наверное, корректнее будет делать труп контейнером).
>>99881
А что, твой недобраузер не умеет в кириллические ссылки?
http://ru.wikipedia.org/wiki/Алгоритм_Любачевского_—_Стилинжера
>>100017
Теперь умеет. ^^" Извини за вытекшие глаза, если что.
Сделал подсветку, завтра запилю контейнеры.
Там физон есть?
>>100145
Игра то уже появилась, или пока все еще движок?
Внутри прямоугольника заданы ещё N прямоугольников. Как перебрать все прямоугольники свободного места?
Исходная задача: как разместить новое окно?
>>101554
До сих пор ни разу не встречал людей, не распознающих задержку в 0.15 секунд.
>>101555
Ладно, попробую O(N^4) или что там по-тупому получается.
>>101560
Тоже можно.
P.S. Хозяйке на заметку. Понемногу входящая в мейнстрим null-safe navigation (operator ?. в Groovy и планируемом C# 6.0) элементарно реализуется на Lua: setmetatable(nil, { __index = {} }) и по вкусу то же для false.
P.P.S. Хозяйке на заметку Ⅱ. Всё, что требуется от контекста OpenGL в смысле многопоточности — в каждый момент времени он должен быть активен максимум в одном потоке. Т. е., в отличие от окон, кто его создал — дело десятое.
>>101564 я имел в виду, не понял, что ты хочешь сделать
щас понял
>задержку в 0.15 секунд
ну вопервых, можно вынести в тред или/и считать заранее. + окна переместились - в заднем треде подготавливаешь сразу новые позиции для остальных окон (не могу сходу представить чтобы их размеры не были известны)
далее, погуглить https://www.google.com/search?q=rectangle%20find%20free%20space&ie=utf-8&oe=utf-8&safe=off&as_qdr=all&num=30&hl=en
внезапно придумал че то смутное (лень думать) - берем пустоту, помещаем в нее одно имеющееся окно. делим оставшееся место на прямоугольники. берем следущее имеющееся окно, находим пересечение его с получивимися пустыми прямоугольниками, и дробим их. и так для каждого окна
во че нагуглил еще по запросу "rectangle packing new window position" http://www.onyxbits.de/content/swing-mdi-coming-window-placement-algorithm-jinternalframes-jdesktoppanes
выложи потом что получилось, полезная штука
>>101577
Лол, ты меня не понял про 0.15 секунд, я имел в виду, что ты, видимо, не заметил, что в >>101552 гифка.
>берем пустоту, помещаем в нее одно имеющееся окно. делим оставшееся место на прямоугольники. берем следущее имеющееся окно, находим пересечение его с получивимися пустыми прямоугольниками
Ровно то же независимо посоветовал другой человек, в итоге так и сделал. Сам же придумал куда более мудрёный алгоритм без преимуществ перед этим, который бы точно до сих пор не закончил. (>>101731)
Всё равно жуть как громоздко получилось.
Разбиение прямоугольника (ты ведь это имел в виду?): https://sourceforge.net/p/rr-rr/code/527/tree/framework/UMath.pas#l3111
Список прямоугольников, как в >>101552: https://sourceforge.net/p/rr-rr/code/527/tree/framework/Algo.pas#l560
Строим такой список по всем окнам, выбираем какой-нибудь прямоугольник эвристикой и размещаем контрол, скажем, посередине. Если свободного места нет, можно попробовать ещё раз, убрав часть окон.
Наверное, можно было проще, но уже не важно. ^^
>>101730
>куда более мудрёный алгоритм
Как-то так.
>>101730
>в итоге так и сделал
Прямоугольники не дискретные, в этом и суть, просто пример.
>101731
Miss.
>>101730
>гифка
аааа бля. конечно. написал бы. это неочевидно
>ты ведь это имел в виду?
хз, лень вчитываться в твой кодоад. я имел в виду пикрилейтед (надо играться с эвристиками)
мб перестраивать-мержить пустые области после каждого пасса, сравнивая их aspect rate допустим. допустим тут внизу у самого нижнего аспект аспект будет большой и хуевый, и можно от него откусить в пользу более верхнего блока. хз. или перебирать варианты, как разрезать, по горизонтали или по вертикали. тут уже проблема с верхними блоками
Вы с автолейаутом окон ебете чью-то мамку, а могли бы игры делать.
Авторосположение просто не нужно. Можно при первом показе интерфейса вывалить все окна кучей с рандомом (с пересечениями или одно над другим), а юзеру дать самому перетащить их по экрану как ему удобнее и при последущих открытиях показывать последнее расположение. Авторосположение не нужно еще потому, что ответственные интерфейсы все равно будут прототипироваться - соотв. будет подобрано наилучшее расположение (с т.з. гейдизайнера).
#интерфейс #кирилл #бугурт #buttheart
Гифка.
>>101862
Так в том и суть, чтобы как можно меньше таскать самому. Это для непредсказуемых и короткоживущих окон типа содержимого ящиков.
>при последущих открытиях показывать последнее расположение
Это уже есть. :3
>>101864
Ага, присмотрись к комментариям по первой ссылке из >>101730. Если углубляться в реализацию, то пикрелейтед. Ладно, мне надоело рисовать гифки этим заниматься, теперь делаю хинты об объектах под курсором, в частности, для описаний предметов.
>>101876
Небрежный (стёр исходник) фикс.
Реализовал приоритетнейшую из поставленных ранее задач (ну как всегда ><") — ПЕРЕНОСЫ!!1
Экипировку добавлю. Фехтование тоже. Честно.
>>102545
┳┻|
┻┳|
┳┻|_∧ Язык нравится очень.
┻┳|・ω・)ノ
┳┻|⊂ノ
┻┳|J
>>102548
Теперь понятно почему я паскаль возненавидел с первого взгляда, хотя до этого ничего не видел кроме бейсика и асма. Почти как в пословице: Скажи какой язык любишь и я скажу кто ты.
мимо
>>102548
Движок сам писал, с нуля? По книжке/туториалам?
>>102549
Получается, твой язык сверхуебищен, а паскаль - няша?
>>101876
Ты хуйней какой-то занимался. Если задачу можно решить просто - ее нужно решать просто! Зачем тебе перемещаемые окна? Я помню только одну игру с таким интерфейсом - морровинд. И не сказать, чтобы это мне в ней нравилось.
>>102548
Почему не Ада, кстати? Возможностей больше, чем в паскале, да и синтаксис получше.
>>102645
Разве на агде программируют? Она же для верификации теорем и развлечения аутистов.
Сырна, какие мысли по геймплею-то?
>>102734
https://github.com/larrytheliquid/Lemmachine
Если можно это, то и игровой движок можно написать. Разве не круто было бы доказать, что твою игру можно пройти?
Добавил концепцию "non-serializable" объектов в скрипте, чтобы лишний раз с ними не заморачиваться. Окна теперь умеют "красиво" закрываться пользовательской функцией, а не просто исчезать. Прочитал про SSBO (GL 4.3-4.4) — загрустил. >>102542 займусь послезавтра, если не вздумаю третий фон нарисовать (по-нормальному, не как эти...).
>>102738
Хватит спускать меня с небес на землю! Не знаю я. То есть знаю, уже говорил про трёхмерный реалтаймовый Dungeon Crawl с (тохо)няшками, но как-то очень дохрена всего получается. В Dungeon Crawl мне не нравится архитектура — то есть стиль кода очень даже, но, очевидно, оставшиеся со времён оригинала глобальные переменные типа you, работа с глобальным луа-стейтом, упоминания сущностей в тысяче мест вместо одного (когда это не оправдано механикой)... как они только умудряются постоянно его развивать.
А вообще, изначально я как раз собирался сделать игру типа Морровинда, но потом вышел Скайрим.
>>102799
ПОЧЕМУ АУТИСТ???
Заменил сжатие в памяти потоками-обёртками.
Заменил чтение в память образов файлов на mmap.
Запрос файла из архива возвращает поток на данных того же файла, а не промежуточный MemoryStream.
...На инкремент версии потянет.
>>103598
Я ещё сейчас займусь рефакторингом, в частности, перепишу каскадные тени и что-нибудь ещё на Texture Arrays, сделаю передачу координат в шейдеры в виде AABB + short3 вместо float3 и, возможно, заменю касательные пространства кватернионами. (Но начну с ещё более приземлённых вещей). Простите меня.
>>103645
Всё, что я перечислил — фигня известная, просто руки не доходили, плюс, часть кода, ответственная за рендертаргеты, в том числе постпроцесс и "операторы рендеринга в текстуру", "снимающие" отражения и тени, выглядит очень неуклюже, при этом не обеспечивая всей функциональности, что мне нужна — те же слои текстурных массивов. Да я и не поддерживаю ещё текстурные массивы, в начале 2014, ага ._.
>>103646
Поясни за кодировку по хардкору, какую лучше использовать, чтобы хранить русские тексты?
>>103860
Хранить — только UTF-8, на носителях нет смысла хранить нули, а остальные формы Юникода именно этим и занимаются, ещё и добавляют endianness. В чём обрабатывать — другой вопрос. Но тоже можно UTF-8.
>AABB + short3 вместо float3
done
>заменю касательные пространства кватернионами.
Оно того не стоит. Надеялся, что компоненты кватерниона самоуничтожатся о нули в векторе типа (1, 0, 0) и получится что-нибудь красивое, но получились девять умножений.
А ещё вдруг (наконец) дошло, что для скелетки достаточно индексов и развесовок. До этого зачем-то хранил в вершинах смещения и нормали относительно прикрёплённых костей, раздув вертекс до 64 байт (теперь 24). Успешные люди, — теперь и я, — без дополнительных атрибутов применяют к вершине в пространстве модели inverse bind pose transform (bind pose — "исходное" положение скелета, рассчитывается единожды), затем "настоящую" трансформацию кости и получается то же самое.
Пробампирую тогда, раз ты такой стесняша.
Мне лень разбираться. Что надо иметь чтобы прога запускалась, а не пикрелейтед?
>>105304
Популяяярность~
>>105314
Я сижу играю в игры и ещё не сделал, что хотел. А именно: мне нужны расшаренные UBO (буферы параметров для шейдеров), проблема в том, чтобы, во-первых, сделать фоллбэк на обычные, во-вторых, чтобы всё это было инкапсулировано и от шейдеров, где ты просто объявляешь нужные параметры, а где и как их разместить — дело движка, и от источников параметров, в-третьих, мне религия не позволяет использовать лейаут UBO со стандартизованным бинарным представлением (std140), хотя это несколько упростило бы реализацию. «Завтра» (сегодня) начну, окей.
>>105315
Кинь лог.
Вообще там должен быть чуть более дружелюбный мессейджбокс, но почему-то http://msdn.microsoft.com/en-us/library/xdkz3x12.aspx не срабатывает из дочерних потоков.
>>105319
Вот лог.
http://rghost.ru/52279974
Вот еще один одержимый делает движок без игры на Паскале: http://spaceway.1gb.ru/
Такие-то квадратно-гнездовые галактики, такое-то управление, которое никто кроме автора еще не осилил, просто праздник какой-то. Но он, конечно, постарше сырны будет: вроде бы дольше десяти лет "игра" в разработке. Чувак гордится процедурной генерацией всего (ни одной текстуры в архиве, все сам), и какой-то особой уличной модульной системой. Говорит, что можно скомпилировать игру для текстового режима, и все будет работать.
>>105406
Ты забыл про зачатки конструктора кораблей.
Скорей бы он уже хоть какой-нибудь геймплей с "пиу-пиу" прикрутил. Его поделие сейчас просто скринсейвер с генерацией и выбором ракурса обзора.
>>105406
А Паскаль при чем? Типа хуёвый язик в шкале прахадят перепесывой на си плис плис?
>>105406
.kkrieger в космосе же.
Смысл и удобство не требуется, просто произведение искусства.
>>105430
Реализаций мало и хуёвые. А так язык как язык. Не такой лаконичный как Си конечно, но и не такой многословный как Кобол
>>105430
>>105498
При том, что языка программирования Паскаль уже давно не существует. Есть только Дельфи, эдакий конструктор по типу Юнити, использующий паскалеобразный встроенный язык, названный Объектный Паскаль.
Изначально Паскаль был разработан как учебный язык, такая дубовая структура, заставляющая тупых студентов писать "как положено", что-то вроде прописей для первоклашек, разлинованных по горизонтали для больших и маленьких букв, и диагонали для правильного наклона так, чтобы вбить в тупые бошки основы правильного письма. Однако, после освоения этих азов, прописи убирают и ученики уже пишут как кому удобнее, создавая собственный почерк, но основанный на правильной базе вбитой прописями.
Понимаешь в чем суть? Если человек всю жизнь пишет по прописям, предназначенным для учебы первоклашек, это означает серьезные проблемы в его развитии или вообще фундаментальном функционировании мозга. О каком программировании может идти речь в таком случае? Только об инвалидной каляске.
Есть нормальное распределение, randn(σ). Выделим на оси X три точки — -3σ, 0, 3σ. Как «подвинуть» их в произвольные min, peak, max?
>>105564
Нихуя не понял, честно говоря. Почему у тебя там тройки, а не единицы? Какой в них смысл? Тебе нужно сделать так, чтобы центр распределения смещался в какую-то сторону?
>>105564
Тоже не понял. Определи математически, какие свойства должны выполняться для min и max.
>>105566
Почему тройки: на рисунке σ = 1, http://ru.wikipedia.org/wiki/Среднеквадратическое_отклонение#.D0.9F.D1.80.D0.B0.D0.B2.D0.B8.D0.BB.D0.BE_.D1.82.D1.80.D1.91.D1.85_.D1.81.D0.B8.D0.B3.D0.BC . Окей, пусть сигма тоже будет параметром.
Нужна случайная функция с, грубо говоря, нормальным распределением, вытянутым влево в A раз, вправо в B. Мне показалось удобным задавать большинство распределений в такой форме — это интуитивнее XdY.
>>105572
Так нельзя, интеграл плотности на всей прямой должен быть равен 1.
>>105575
Поэтому масштаб по Y не важен.
>>105502
Всё целиком вронг.
Когда-то давно в компьютерах было мало памяти. Настолько мало, что зачастую даже текст относительно большой программы загрузить в неё было невозможно. Так вот, языки С и Паскаль должны были компилироваться в таких условиях (поищи спеки раннего С, будешь удивлён). Поэтому оба языка были задизайнены так, чтобы прочитав один statement ты мог сразу с ним что-то сделать (обычно просто генерировался ассеблерный код и писался сразу в файл, потому что память). Если ты хоть чуть-чуть знаком с ассемблером, то уже понимаешь, откуда взялась именно такая жёсткая структура программы. В раннем С было абсолютно то же самое.
Паскаль позиционировался не только как язык для обучения, он ещё одно время и конкурировал с С как язык для системного программирования (можешь погуглить статью Д. Ричи про недостатки паскаля). Но не сложилось. Причин было несколько, во-первых, со стороны С был гиганский административный ресурс в виде ос УНИХ, во-вторых, обсёры самого Вирта в дизайне языка (ранние версии, например, не имели способов динамически выделять память, а так же весь ввод делался при старте программы; то есть, если у тебя есть строки WriteLn("enter age"); ReadLn(N); (или как-то так), то программа сначала прочитает ввод, а потом выведет "enter age"), в-третьих, в паскале была строгая типизация - там где сишка радостно приводила char в int, паскаль выдавал ошибку, что люто раздражало быдлокодеров, в-четвётрых, различные мелочи, вида ебанутых правил расставления точек с запятой. Ну и в конце концов, сам Вирт отказался от поддержки паскаля и начал пилить всякие модулы да обероны. Если бы всё пошло чуть иначе, то был бы у вас сейчас Microsoft Visual Inc(Pascal) и Pascal#.
>>105576
Ты вообще понимаешь, о чем говоришь? Как в плотности распределения может не быть важен масштаб? Это тогда не плотность распределения будет.
Я лишь хотел сказать, что растягивать гауссовское распределение по X нельзя. Когда разберешься с тем, что тебе все-таки нужно, поищи подходящее распределение в вики, там список многих известных есть.
>>105580
Сделал ;3
Вероятность попасть в «левую» часть такого распределения — (peak - min) / (max - min). Дальше всё просто.
function randnc(const min, peak, max: float): float;
var
k: float;
begin
k := urandn * (1 / 3);
if k > 1 then k := random; // по задумке функция не возвращает значений вне [min, max]
if random * (max - min) < (peak - min) then
result := peak + (min - peak) * k
else
result := peak + (max - peak) * k;
end;
где urandn — половинка нормального распределения, эквивалентно abs(randn).>>105585
Рандом для чего понадобился? Никак геймплей завозишь?
>>105585
А, варианты нормалки.
Только имей в виду: ERF не выражается в небольшом количестве элементарных функций, а перевод равномерного в нормальное требует или тормозной арифметики или многократного вызова рандома - то есть тоже тормоза.
Ты, конечно, можешь аппроксимировать костылями - вот как тут у тебя - но это все равно вылезет, ибо так устроен этот ваш мир.
>>105634
Ну да, типа прикладная модификация нормального распределения получилась, но с ним самим проблем нет, я использую попсовое преобразование Бокса-Мюллера.
Зачем это нужно — чтобы для случайных величин задать распределение (в общем случае, эм, энумом + N параметрами?), а дальше сами разберутся.
Добавил оффлайновый метод сжатия круче LZO — LZHAM. (http://code.google.com/p/lzham/).
Чёрт, надо уже расшаренные UBO сделать, сколько можно собираться.
>«Завтра» (сегодня) начну, окей.
>>105836
> >или тормозной арифметики
>преобразование Бокса-Мюллера.
Ясно-понятно. Впрочем, для хилого сингла вполне пойдет.
>>105853
Бегло прочитав в посте про тормоза и А-рифметику, на долю секунды подумал, что ты про LZHAM.
Да хоть и не хилого. Когда у тебя последний раз тормозил рандом? ;3
>>105864
Например, вчера.
Но у меня немного другие требования, порядков так на несколько.
Так что наслаждайся тем, что имеешь.
Бампну ленивую Сырну.
Запилил локализацию текста и не только текста.
Если какая-нибудь строка в какой-нибудь сущности может зависеть от «локали», достаточно оговорить это и добавить в реализацию что-то типа
localizedText = locale.localize(text)
(плюс, опционально, обработчик смены локали). Текст задаётся какtext = 'Март в текущей локали будет "' .. Localized 'misc.months.mar' .. '".'
, где Localized(text) разворачивается в PREFIX + text + SUFFIX — определённые реализацией аффиксы, не встречающиеся в обычном тексте. Locale.localize интерпретирует куски между аффиксами и заменяет их настоящим текстом на основе структуры папок либо Lua-таблиц (взаимозаменяемы), например: misc.lua:
months =
{
mar =
{
ru = "март",
be = "сакавік",
fr = "Mars",
}
...
}
Работает и для GUI-картинок, если их позиция в атласе задана строкой-ключом. Позже добавлю в эту вот интерпретируемую кашу поддержку числительных, падежей и подобного.>>108818
Почему фейло, хороший, только тусклый, и места справа нет.
>>111325
Арт в главное меню рисуешь? Или фигнёй страдаешь?
>>111328
>Сферическая Сырна летает в жидком вакууме, а рядом чайник
Ебанные аутисты, где вы беретесь?
>>111330
да
>>111340
Кстати, шутки шутками, а я по ходу дела действительно столкнулся с http://absolutewrite.com/forums/archive/index.php/t-144205.html, пришлось переделывать. Очень рекомендую всем не-художникам, возомнившим о себе невесть что, пользоваться возможностью отразить видимое изображение (по крайней мере в SAI), и это не связано с билатеральной симметрией.
>>111341
Годный совет, спасибо. Раньше почему-то не приходило в голову инвертировать свои высеры.
Говнозитор нужен?
Бамп с четвертой.
>>111562
Согласен, арбуз в пизде это тупо. Лучше подошла бы тыква.
>>115235
А можно зарендерить такую в анаглифе с выкрученной на максимум глубиной? Всё пытаюсь хорошую 3D-дрочку найти, но в фильмах глубина слабая, а в порноиграх как правило недостаточно реалистичный графон
>Last Update: 2014-02-13
Не отстанем же, сучечка.
>>121139
Зачем бампаешь? Я не говорил, что не умею рисовать?
>>121148
Разработка встала из-за того, что ты не умеешь рисовать? Всё остальное готово?
>>121154
>Разработка встала
...и пошла. 違う! И что вообще за глупые вопросы? Не мешай, в общем)
ɔ: :< >::::
>>121157
Чему я мешаю, если ты сидишь и играешь поди в какое-нибудь тохоподелие целыми днями, вместо богоугодной разработки пещерной бродилки про Сырну.
>>121162
>играешь поди в какое-нибудь тохоподелие целыми днями
>>121162
Я сижу насилую планшет 30 часов в сутки. Вот, к примеру, были норм волосы, теперь оптоволокно.
>>121170
Хотел что-то сказать, но
>насилую планшет 30 часов в сутки
Продолжай, не останавливайся.
АРБУЗ
>>121170
Да у нас тут новый Бобров растет! Кстати, у Сережи есть планшет? И разве он нужен для пикселей?
>>124534
У Боброва разве пиксели? Всегда был просто лоурезный, но всё же арт кистями, без попиксельного выдрачивания. Мышковал лет шесть или семь назад, может, прикупил планшет, кто знает.
По-моему такого не должно быть.
И полугода не прошло :3
>>124555
Ты выложил очень похожий скрин одновременно с кое-кем другим, но до этого я подобн вообще ни разу не встречал. Кинь лог.
Пробампирую хотя бы сырну тогда, раз такое дело с канкурсом.
Как раз утром думал о Сырне.
Надо что-то рассказать, но не знаю, что. Ну запилил себе эмуляцию variadic templates на препроцессоре. А ещё непрерывное сжатие паков. А ещё я должен сделать то, что дропнул в начале этого года, но параллельно распоследний артик допилю, ладненько? :3 (это не вопрос).
>>125160
>rendering means meticulously defining every single inch of your ugly drawing to try and hide how ugly it is and how unskillful you are
:(((
http://sourceforge.net/projects/rr-rr/
А я меню прикрутил! :3