[ d ] [ b / cu / dev ] [ r ] [ a / ts ] [ ci ] [ gnx / int ] [ misc ] [ dev / stat ]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог] [Главная]

Файл: 800px-BumperCar.jpg -(100 KB, 800x600, 800px-BumperCar.jpg)
100 No.12091  
Задача, надо объяснить её скриптерам, чтобы просить их. Объяснить так, такое слово найти, чтобы, с одной стороны, показаться ясно мыслящим, а с другой - не выставиться разбирающимся в их делах.

Задача - X предмет движется по другому, Y предмету (3d предмету). X предмет свободно движется поверхностью Y предмета, но никак не может от неё отсоединится. Моя идея - Y разбивается на точки, из них собирается плоскость, далее расчёт на ней нового положения X, перемещение X к новому положению.

2D движение на 3D предмете. Как автодром (аттракцион), покрывающий поверхность произвольной фигуры.

Хотя здесь просьба не о формулировке задачи, а о формулировке идеи решения. Если велосипед уже есть, сообщите.

Можно красть тред в обсуждение не совсем обычных пространств, типа квадратных планет и ленточных бутылок.
>> No.12093  
Файл: asgu.jpg -(204 KB, 1000x1600, asgu.jpg)
204
>>12091
Ты легко можешь двигаться по отрезку 2D-полигона и не намного сложнее перекатиться на соседний в плоскости, проходящей через центр предмета и его направления движения и «вверх»: находишь пересечение этой плоскости с двумя рёбрами нового полигона, одно из которых — смежное, оно и будет новым отрезком. Только учти, что за кадр объект может и больше одного проскочить.
>> No.12096  
>>12093
Не понял, соседний полигон, лежащий в плоскости, проходящей через центр предмета... нет, речь о плоскости, в которой лежит направление движения?

Но как получается, по твоему методу надо знать, что есть пересечение полигонов, знать вверх, делать два отрезка вместо одного. Почему не спроецировать на плоскость, а там отмерить только один отрезок?
>> No.12099  
Файл: 1.png -(244 KB, 1200x800, 1.png)
244
>>12096
>> No.12100  
Файл: 2.png -(258 KB, 1200x800, 2.png)
258
>>12099
>> No.12101  
Файл: 3.png -(373 KB, 1200x800, 3.png)
373
>>12100
>> No.12102  
Файл: 4.png -(285 KB, 1200x800, 4.png)
285
>>12101
>> No.12103  
Файл: 5.png -(337 KB, 1200x800, 5.png)
337
>>12102
>> No.12104  
>>12101

Ты такой подъезжаешь к краю полигона и, не спрашивая его ни о чём, что-то из себя строишь, находя на нём, непонятно как расположенном, следующий отрезок... магия?
>> No.12105  
Файл: vinco.png -(40 KB, 381x212, vinco.png)
40
>>12104
>не спрашивая его ни о чём
>непонятно как расположенном
Ну нет, тебе придётся спросить, по крайней мере, какой полигон будет соседним по данному ребру. И пересечь его плоскостью. Построенной из себя, да. Любой конкретный полигон вполне известно как расположен. И если он пересёкся по одному ребру, обязательно пересечётся и по другому. (Всё-таки >>12102 актуально для любых случаев «оказался-в-вершине». Например, если ты приехал в вершину, в которой кроме твоего сходятся ещё 3 полигона, с двумя из них плоскость только в ней и пересечётся, поэтому для продолжения пути они не подойдут). Тролль. Тролли как раз категорически не ладят с магией.
>> No.12106  
>>12105
>по крайней мере, какой полигон будет соседним по данному ребру.

Желательно ограничиться знанием "какой", абстрагируясь от его положения.
>с двумя из них плоскость только в ней и пересечётся, поэтому для продолжения пути они не подойдут

То есть тот алгоритм не валиден? А идея проекции полигонов на плоскость?
>> No.12107  
Файл: Beugel_botsauto.jpg -(94 KB, 640x853, Beugel_botsauto.jpg)
94
>>12093, >>12099 - >>12103
Подожди, а что, если плоскость провести через Up и направление движения (через up и dir)? Она пересечёт поверхность, и это пересечение, её след - и есть решение.
Видится, здесь нет проблемы с вершинами, плюс работает не только для полигонов, но и для фигур на формулах.
Я подчерпнул отсюда: http://iichan.hk/b/res/3313283.html :
>локсодрома есть отрезок следа плоскости, проходящей через поверхность Земли (или воды)
>> No.12108  
Приближения такие приближения.
Поврехность сложной впукловыпуклой фигуры нельзя представить в виде плоскости же, если не делать у нее переменный масштаб же.
Самый простой пример - куб с впадиной на одной грани же. Допустим ты разрезаешь его, как в школе учили - 4 грани подряд и 2 торчат в стороны. Как ты изобразишь впадину? Никак же. В месте впадины на этой развертке масштаб будет ниже (или выше, не знаю, как правильно говорить), чем в остальных местах же.
>> No.12109  
Матчасть не читал, сразу отвечал.
>> No.12110  
>>12108
Нет цели изобразить, цель - понять, как двигаться. Отметил новые позиции, отправился к ним, в чём там будет глюк?
Если таки глюк, то можно и не всю поверхность, а только требуемую сейчас часть. Потом следующую и т. д.
Есть и идея иного решения: >>12107
>> No.12111  
Файл: Hanairo128.jpg -(68 KB, 1280x720, Hanairo128.jpg)
68
>>12106
>То есть тот алгоритм не валиден?
Уточню >>12102: если ты приехал точно в вершину, то, чтобы ехать дальше, ты должен из всех остальных сходящихся в ней полигонов найти пересекаемый плоскостью не только в этой вершине. Вторая вершина найдётся ровно одна, при условии игнорирования параллельных плоскости рёбер (>>12103 D = 0), туда и едешь. Это автоматически поддерживает случай проезда точно по ребру.

>>12107
>плоскость провести через Up и направление движения (через up и dir)?
Плоскость через up и dir — это и есть плоскость с нормалью up × dir. Проблемы с вершинами и правда не будет, если искать и запоминать всё сечение, а не только текущий полигон, но это как-то неоптимально. А ленивые могут и вовсе не обрабатывать случай с вершинами, а просто слегка от них отклоняться.
>> No.12117  
>>12111
А зачем рассекать весь полигон (зачем берётся B')?

А хэй, тут ещё идея появилась.
При встрече с ребром не проще поворачивать меня на разность углов поворота хозяев этого ребра?
>> No.12118  
>>12117
Ну повернулся, и докуда собираешься ехать?
>> No.12121  
>>12118

Ты имеешь в виду ситуацию, когда за кадр я проскакиваю больше одного полигона, или утверждаешь, что мне нужна некая конечная точка для расчёта, каким образом я поеду?
Можно представить портал, который поворачивает на 90°. Я бегу в него и меня поворачивает, я бегу дальше уже по новой дороге. Или можно представить, будто бы некий алгоритм уже найден, и я бегаю, например, по кубу. Если сделать куб невидимым, то будет казаться, что это просто движение по плоскости, только с периодическими поворотами. Так не в них ли суть?
>> No.12122  
Файл: go rytem.png -(34 KB, 666x790, go rytem.png)
34
>>12118

Кстати, разве A'B' не есть dir?

С поворотами всё просто, как я погляжу, если у точки только два хозяина. A=const=90°.
>> No.12125  
Файл: polymove410.7z -(577 KB, x, polymove410.7z)
577
>>12122
Я ошибся. Ты должен не двигаться по сечению (это выглядит неестественно), а сохранять угол с ребром до и после пересечения (вертикальные углы при движении по развёртке). Это всё равно что повернуть направление движения поворотом из нормали исходного полигона в нормаль нового. И уже по новому направлению найти вторую точку на новой грани.

<----------
>> No.12128  
Файл: Полиранство.png -(7 KB, 1021x572, Полиранство.png)
7
>>12125
>Это всё равно что повернуть направление движения поворотом из нормали исходного полигона в нормаль нового.

А "крениться" - поворачиваться, пока снова не коснёшься какой-либо (хоть старой, хоть новой) опоры? Покинула часть тела землю - поворачиваешься, пока её на землю не вернёшь - это и есть крен?
>>12125
>Poly Runner

Надо ли спрашивать, некрасиво, где-то предательски, но захочешь писать игру об этом?
>> No.12131  
Файл: polymove410.7z -(578 KB, x, polymove410.7z)
578
>>12128
>захочешь писать игру об этом?
Неа.

>Poly Runner
Банальное какое-то название. Я бы сделал сюжет с драмой, дал название соответственно сеттингу и не выставлял движение по многогранникам киллер-фичей.

Крен означает поворот направления «вверх», — в >>12125 оно положено совпадающим с нормалью, — вокруг направления движения на ±α, |α| < 90°. Могу предположить, что на расчёты движения это не должно влиять — только на видимую ориентацию бегуна.
>> No.12135  
Файл: polymove410.7z -(578 KB, x, polymove410.7z)
578
Ой, точность радиусов сфер была ±1 пиксел вместо максимальных без AA ±0,5, НИКРАСИВА.

С ещё более НИКРАСИВАй интерполяцией поворотов на кубе разбираться уже лень, но, полагаю, это из-за неиспользования кватернионов.
>> No.12136  
>>12125 >>12131

Глюк с кубом, если двигаться вокруг вершины, куб будет дёргаться, а не плавно поворачиваться. Отползёшь от вершины на расстояние - дерганье останется, либо периодическое, либо постоянное. Его ещё можно вызвать, переезжая через ребро, предварительно подкатясь к нему как бы по дуге.
UPDT: ты, кажется, уже натолкнулся.

>>12125
>Ты должен не двигаться по сечению (это выглядит неестественно), а сохранять угол с ребром до и после пересечения (вертикальные углы при движении по развёртке).

Это достаточно обобщено для поворотов и на одном полигоне? Имеются в виду такие феномены как переваливание с внешней стороны полигона на оборотную, с оборотной на внешнюю.

>>12131
>Банальное какое-то название.

Правда. Но и с сеттингом проблемы - в версии-игре будет добавлено максимум три новых объекта, даже внешне она вряд ли отклониться от того, что сейчас.
"Лабиринт [плюс какое-то слово]"? Labyrinth plus a Word; Labyrinth (a Word), The maze: the Word. Тоже не ново, но в контексте бьёт (В контексте поверхности без препятствий). И слоган: сколько граней/ребер/вершин у твоей/твоего [какое-то слово].
>> No.12138  
Файл: 310px-Dodecahedron_flat_svg.png -(16 KB, 310x160, 310px-Dodecahedron_flat_svg.png)
16
А Net'ы в тему?

https://en.wikipedia.org/wiki/Net_(polyhedron)
>> No.12139  
>>12135

При новых версиях, добавь задачу отношения скорости езды по граням к размеру граней (т. е. к размеру фигуры).
>> No.12140  
Файл: polymove410.7z -(578 KB, x, polymove410.7z)
578
>>12136
>Глюк с кубом
Лол. Добавил кватернионы, кватернионы не помогли, убрал кватернионы, добавил SLERP, SLERP не помог, убрал SLERP и дело оказалось в банальнейшей опечатке в

if state = Crossing then prevDir := r * prevDir;

По задумке, если бегун поворачивается во время пересечения ребра, это домножает на поворот старую ориентацию, интерполируемую с новой. Вот только вместо r должна быть rot — матрица поворота, r же оказалась левой переменной-целым числом (индекс ребра-цели). Так вот почему некоторые не любят перегрузку операторов.

>Это достаточно обобщено для поворотов и на одном полигоне?
Полигоны односторонние и их ориентация важна. Добиться эффекта можно, повторив полигон дважды с противоположными направлениями. Но интерполяция поворотов на 180° — дело неблагодарное. Поэтому я переделал переходы, избавившись от векторных интерполяций вовсе.
>> No.12143  
Файл: обкубенискость.png -(36 KB, 715x800, обкубенискость.png)
36
>>12140

Правильно ли картинка передаёт различие результатов методов "рассечь плоскостью" и "повернуть направление движения"?

Спасибо тебе.
>> No.12144  
Файл: karin.png -(57 KB, 740x554, karin.png)
57
>>12143
Это ж иероглиф «день»!

Ну да, так и есть. Это следует из
>вертикальные углы при движении по развёртке,
я, конечно, мог бы на том месте исчерпать объяснение, почему неудачная идея неудачная, простой фразой «на развёртке сечение не будет прямой, а такой путь — будет», но https://www.google.com/search?q=%22боязнь+простоты%22 — не шутки, знаешь ли.
>> No.12160  
Файл: PolyDemGif.gif -(6154 KB, 500x375, PolyDemGif.gif)
6154
https://www.dropbox.com/s/2cuja9gsys4p5gk/PolyDemWeb.webm?dl=0

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

Сколько времени, включая все дополнения, у тебя ушло?
A такой жалобный вой у протираемого стакана.
>> No.12161  
Файл: gemini.gif -(2478 KB, 640x360, gemini.gif)
2478
>>12160
В голос чёт.
Часов 8.
>> No.12255  
>>12161
Соус?
>> No.12256  
Файл: 236c56e205f2c8c3e8b128243801d4309c5f3fef.jpg -(151 KB, 850x1052, 236c56e205f2c8c3e8b128243801d4309c5f3fef.jpg)
151
>>12255
https://www.youtube.com/watch?v=1d806nNdUrE
>> No.12424  
Файл: g3259.png -(159 KB, 1168x1098, g3259.png)
159
Я должен ещё раз спросить про игру.
Не заранее ли ты отказался?
В игре только карта и бороздящие её "кружки". Два кружка или две команды кружков бродят по фигуре как по лабиринту, пытаясь незаметно подкрасться и атаковать, отхватив hp. Атакуют не стрельбой, а собственным телом, рывком к сопернику. Победа полностью зависит от удачи.

Представляешь, говоришь кому-нибудь "делал игру, только один тип предметов, да и то все одинаковые". Собеседник вспоминает старейшую игру, где два барьера отбивают мяч, но там два типа, мяч и барьер. Тогда он вспоминает змейку, но там змея и корм. Может быть ответ - файтинг или тетрис? Но там разные борцы и разные кирпичи.
Есть и элемент исторической миссии: в начале 70-ых родились две игры, Maze War (один из первых FPS, игроки шныряют в лабиринте) и Hunt the Wumpus (система комнат образует граф объёмной фигуры), в обеих играх лабиринт, и в обеих победа зависит от удачи.
Hunt the Wumpus так и остался последним словом в теме игр о лабиринтах.

Если на тест есть время, тест лучше сделать? Возможно, что ты напишешь игру, если она будет соответствовать некоторым условиям простоты? Если всё будет описано достаточно понятно и конкретно, не так, как случилось три месяца назад?
Вот весь перечень составляющих игры, сейчас без описания:

1. Закон перемещения кружков с полигона на полигон и движения кружков по полигону [ты уже написал]; описание, как кружки атакуют, толкаются; последствия столкновения кружков; отображение кружков.
2. Кружки с hp и спрайтами, предоставленные сами себе или имеющие место в комадне, разделяющиеся на два подмножества: кружок-игрок с камерой за спиной и кружки-боты с AI и кругозором (полем зрения).
3. Часы, время. Длительность матча, секунды атаки и действия эффектов от столкновения, ожидание между атаками.
4. [Не понадобится для теста] Ход игры (игра просто заканчивается в определённый час, или предварительно происходят некоторые эффекты, способные приблизить развязку, ускорение игроков, например).
5. Режимы игры, e.g. игрок против бота, игрок в команде с ботами против команды ботов, игрок с большим hp против команды ботов с маленькими hp.
>> No.12435  
Файл: 701_900.jpg -(74 KB, 900x807, 701_900.jpg)
74
>>12424
Насколько возможно чётко опиши задуманный геймплей, UI и т. п. «Один тип предметов» — а диверсифицировать их не хочешь ты, камень-ножницы-бумага, вот это всё? Будет проще балансировать, а без балансировки обещает быть скучным. Так-то я не прочь заниматься этим, хотя не рассчитывай на меня (даладна).

Худший твой рисунок за весь тред, менее выразительный, чем единственное слово «[временное] ускорение», которым он исчерпывающе описывается!
>> No.12437  
Файл: Pathapith.gif -(510 KB, 248x465, Pathapith.gif)
510
>>12435

Какую траекторию он себе позволяет, в этом есть что-нибудь математически интересное?
Подробное описание:

Часть 1

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

Атака
Атакует кружок собственным телом, он бросается на жертву, превращаясь в снаряд: временно ускоряется и увеличивается в размерах (увеличивается его "тень", круг/квадрат, ответственный за столкновения).
То есть, какого-то специального прицеливания нет, куда едешь, туда и наносишь удар, ведь ты и есть удар.

Атака и урон
Атакующий не получает урона от столкновения, не атакующий - получает, если сталкивается с атакующим.
Столкновение прерывает атаку.
Постоянно атаковать нельзя, атаковав разок, ждёшь время до следующей возможности.

Столкновение
После столкновения (любого и в любом состоянии) кружок также получает временное ускорение. Его скорость начинает расти с той, которая была у него до столкновения. То есть, если скорость кружка была выше нормальной (он атаковал), то она к нормальной предварительно не сбрасывается.
Из-за этого получается, что кружок, столкнувшийся в атаке, быстрее перенесёт последствия столкновения (так как пропутешествует не по всему графику временного ускорения, а только по его части).

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

Часть 2
>>12435>>12435
>Насколько возможно чётко опиши задуманный геймплей

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

Цепочка выборов рано или поздно (теоритически возможно, что и никогда) приводит к одной из трёх встреч:
Кружки двигаются навстречу друг другу; кружок появляется сбоку/сзади другого кружка; один замечает другого, но тот уже скрывается за ребром.
Соответственно результаты: оба сталкиваются атакуя, никто не получает урон; один наносит урон другому (если атакуемый не успеет заметить соперника и увернуться); ничего не происходит.
Последствия столкновения разводят соперников, и их поиск начинается по новой.

Читерство
Предвижу такую чрезмерно надёжную тактику: кружить в центре полигона, быстро окидывая взглядом его ребра. Всегда успеешь заметить противника и увернуться. Вариация - крутиться вокруг угла фигуры или крутиться вокруг точки на ребре, заглядывая то на одну, то на другую грань.
Надо будет не поощрять долгие повороты и частое пересечение граней: увеличивать скорость (круги начнут становиться всё размашистей) или лишать возможности атаковать. Остановлюсь на последнем варианте, пусть будет некоторый параметр, ответственный за атаку и быстро уменьшающийся при чрезмерно затянувшемся повороте или слишком частом контакте с гранями.
Хотя наличие проблемы зависит от скорости игроков и размера фигуры.

Какая фигура?
Пока, на диване, думаю, что куб - лучший. Хорошо, если игрок сможет представлять фигуру, ориентироваться, где он сейчас и где окажется, сделав выбор - тогда выбор будет иметь смысл. Икосаэдр же мне уже тяжело (да что там, невозможно) представлять. Поэтому предлагаю прозрачный куб, обвязанный красной ленточкой (куб с относительно толстенькой красной полосой по четырём боковым граням).
...
>> No.12438  
Файл: Special_Stage_(S3&amp;K).png -(7 KB, 320x224, Special_Stage_(S3&amp;K).png)
7
Мистические зеркала
>>12435>>12435>>12435
>«Один тип предметов» — а диверсифицировать их не хочешь ты, камень-ножницы-бумага, вот это всё? Будет проще балансировать, а без балансировки обещает быть скучным.

Надо что-то добавить, с помощью чего можно балансировать?

Пусть грани куба рассекут мистические зеркала. Рассекут прямо пополам или пополам по диагонали, всего четыре варианта для одной грани (две средние линии и две диагонали квадрата). Но, для интереса, где-то будет и одно лишнее зеркало, чтобы на одной из граней могло оказаться целых два зеркала.
Когда смотришь в мистическое зеркало, видишь только своё отражение. Через мистическое зеркало можно проезжать, оно нематериально.
Зеркала запутывают лабиринт без его усложнения. Разворачивается и поле для манипуляции балансом: слабейший из дуэлянтов сможет видеть через некоторые зеркала, получая стратегическое преимущество как компенсацию неудачи.

Также, для того, чтобы кнопка атаки не пылилась, стоит добавить вероятность появления на грани мишени, возможно движущейся, ударив которую получаешь очки или полезный бонус. Удар по мишени прерывает атаку, даёт бонус и возвращает потраченную атаку (то есть, если попал в мишень, то до следующей возможности атаковать ждать не нужно).
>>12435>>12435>>12435>>12435
>UI и т. п.

Информация игроку, как HUD bar?
>> No.12439  
Файл: Характер мистический.png -(7 KB, 400x300, Характер мистический.png)
7
Прямоугольный полигон и два зеркала на нём. Характер зеркал мистический. Одно зеркало разделяет полигон посередине, другое - по диагонали.
>> No.12441  
Файл: Zvezda-brat.zip -(742 KB, x, Zvezda-brat.zip)
742
Второй шарик-братик. Не поехал, стоит. Может оказаться вне/внутри фигуры - нет резета.
Издалека похож на звезду. Только он-то будет поярче всяких звёзд! Вдохновил.

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

Но... это, конечно, не первое дело, не первое... сначала другие, потом смотреть, сойдётся ли с ними оно... как-нибудь...
>> No.12446  
Файл: Robot upsiDEDown.png -(296 KB, 478x265, Robot upsiDEDown.png)
296
Некоторые комментарии к описанию в посте >>12437.

Атака
>временно ускоряется и увеличивается в размерах
>увеличивается его "тень", круг/квадрат, ответственный за столкновения

Не упомянул, что во время атаки границы этой "тени" подсвечиваются: становятся видимыми, и видимыми ярко.
>временно ускоряется

Чтобы настичь противника, иначе в большинстве случаев сделать это невозможно: скорость соперников одинакова.
>увеличивается в размерах

Увеличивается - чтобы попасть по сопернику не было слишком сложно. Но, в тоже время, поворачиваться становится сложнее - чтобы попасть не было слишком легко.
Зачем кружок увеличивается только во время атаки, а не заранее пребывает увеличенным?
Если размер заранее будет увеличенный, то придётся постоянно подсвечивать границу тени во избежание вопросов "как он в меня попал?" А постоянно подсвеченная рамка - нехорошо. (?)

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

Столкновение
>После столкновения (любого и в любом состоянии) кружок также получает временное ускорение

Чтобы после столкновения противники разъезжались.
>Из-за этого получается, что кружок, столкнувшийся в атаке, быстрее перенесёт последствия столкновения

А тот, кто столкнётся на пике атаки - перенесёт значительно быстрее. Так рассчитать, чтобы попасть во врага на максимальной скорости, потребует определенной ловкости, которую стоит поощрять. А чем быстрее перенесёшь последствия столкновения, тем лучше. Значит, поощрение получается.
>> No.12447  
Файл: теремок.png -(467 KB, 609x380, теремок.png)
467
Запутанно вышло, можно описать иначе, как конструктор.
Конструктор разумно сделать для тестов, конструктор, где подбираешь событиям последствия.

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

События: начало атаки; столкновение с соперником, столкновение с атакующим соперником, столкновение в атаке с атакующим соперником, столкновение в атаке с соперником; аналогично четыре события с союзником; столкновение с бонусом, столкновение с бонусом в атаке.
>> No.12451  
>>12441
Не поехал, наверное, потому, что он там ездит явным Update(dt).
>> No.12456  
Файл: Dubic Shutpushout.png -(569 KB, 1246x1440, Dubic Shutpushout.png)
569
>>12451
>Не поехал, наверное, потому, что он там ездит явным Update(dt).

Да, просто не знал, как добавить ещё один такой - собиралось, но ломалось.
Оказалось, надо не просто добавить Update(dt), а ещё надо не добавить Update(0): где-то до Update(dt) был Update(0) и я зря его продублировал, дублировать надо было только Update(dt).
...

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

Много вопросов с видимостью, с ней тоже нужно поэкспериментировать, какую-нибудь настройку запилив.
Звёзды видны через фигуру?
Звёзды отражаются в зеркалах?
Зеркала отражаются в зеркалах как зеркала или как простые стены/ширмы? На тему последнего были некоторые эксперименты, оные на пике. Правда, там всё показывается со стороны, с удаления, на приличной дистанции от. Сосна из предлогов ачивед.
Плоскости зеркал видны через фигуру? Если да, то видны как зеркала или как стены/ширмы?
Нить Ариадны [красный поясок] видна через фигуру?

Большинство вопросов о том, видны или не видны, отражаются или не отражаются. Только для зеркал есть дополнительные варианты: отражаются, но теряют зеркальность; отражаются, но темнее (с каким-нибудь оттенком, как тёмно-синие, например).

А звёзды кстати пришлись:

A Knossian didrachm exhibits on one side the labyrinth, on the other the Minotaur surrounded by a semicircle of small balls, probably intended for stars; one of the monster's names was Asterion ("star").

!
>> No.12462  
Файл: Steel_ruler_closeup.jpg -(84 KB, 1280x960, Steel_ruler_closeup.jpg)
84
Игровая метрика и статистика

Когда игрок пересекает ребро, забираясь на грань, ребра данной грани (считая и зеркало) помечаются как северное, южное, западное и восточное рёбра. Северное ребро отсутствует, если зеркало пересекает данную грань не поперёк, а по диагонали. Записывается, рёбра какой стороны сколько раз пересекаются.
Каждое из этих рёбер разделяется на n отрезков. Записывается, какой из отрезков сколько раз пересекается.

Записывается движение всего на уровне (записывается изменение позиции на карте со временем), записывается изменение параметров (здоровье, очки и прочее) со временем.

Просмотр боя

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

Можно поставить компьютер играть с самим с собой и наблюдать бой в прямом эфире.
>> No.12503  
Файл: RissicOpt.gif -(910 KB, 500x254, RissicOpt.gif)
910
Анимация, спрайты на кубе. Синяя иконка из игры для ps1 "Crash Badicoot".
Нужно позволить людям подставлять всё, что угодно, illuminati, почтальон. Поэтому эффекты для изображений должны быть универсальны.

Спрайты отображаются в плоскости, параллельной плоскости камеры, или повёрнуты к игроку.
Палка, на которой крепится спрайт - нормаль из центра плоской фигуры, отвечающей за столкновения, или нормаль из той точки границы этой фигуры, которая ближе к игроку.
>> No.12774  
Файл: Waters of Nazareth 2.png -(85 KB, 460x460, Waters of Nazareth 2.png)
85
Ба-а...
Ну да, ведь в первый раз это сработало достаточно хорошо.
>> No.12872  
Файл: d48246c5014b6d5c6b250bb67d2570ef.jpg -(9 KB, 394x236, d48246c5014b6d5c6b250bb67d2570ef.jpg)
9
На описания ушло уже много часов. Потратить ещё немного недель мне будет легко. Непонятное можно переписывать.
>> No.12875  
Файл: 14331314640021.jpg -(209 KB, 1680x1050, 14331314640021.jpg)
209
>>12872
Я до начала июля занят буквально по уши T_T.
>> No.12884  
Файл: dearesther 2015-06-05 01-52-22-98.jpg -(22 KB, 1364x768, dearesther 2015-06-05 01-52-22-98.jpg)
22
>>12875
Какими пикчами или текстами тред нуждается в снабжении эти дни? снабжение-водоснабжение

Собрал текст (на будущее) из предыдущих трёх сообщений, процитировал, подправив чуть-чуть (бОльших правок не придумал), и сделал его экстракты.
>Игрок едет и на каждой грани делает выбор из пяти вариантов: пересекать северное ребро, западное или восточное, а может и развернуться к южному. Пятый вариант - отложить выбор, сделать на грани круг.
Игрок едет по граням.
>Цепочка выборов рано или поздно приводит к одной из трёх встреч:
>Кружки двигаются навстречу друг другу; кружок появляется сбоку/сзади другого кружка; один замечает другого, но тот уже скрывается за ребром.
>Соответственно, результаты: оба сталкиваются, атакуя друг друга, никто не получает урон; один наносит урон другому (если атакуемый не успевает заметить соперника и увернуться); ничего не происходит.
>Последствия столкновения разводят соперников, и их поиск начинается по новой.

>Атака
>Атакует кружок собственным телом: временно ускоряется и увеличивается в размерах (увеличивается его "тень", круг/квадрат, ответственный за столкновения).
>Во время атаки границы этой "тени" подсвечиваются: становятся видимыми, яркими.
>Игрок может отключать увеличение в размере, чтобы получить за попадание больше очков (или иной бонус, если очков не будет).
>Это отключение имеет и прямую (не опосредованную очками/бонусами) пользу в режиме со множеством игроков - увеличение в размере нехорошо в толпе кружков.
>Специального прицеливания нет, куда едешь, туда и наносишь удар.

>Атака и урон
>Атакующий не получает урона от столкновения, не атакующий - получает, если сталкивается с атакующим.
>Столкновение прерывает атаку.
>Постоянно атаковать нельзя, атаковав разок, ждёшь следующей возможности.

>Столкновение
>После столкновения (любого и в любом состоянии) кружок получает временное ускорение. Скорость растёт до какого-то значения, а потом спадает к какому-то значению. Скорость начинает расти с той, которая была у кружка до столкновения. Если скорость была выше нормальной (кружок атаковал), то она к нормальной предварительно не сбрасывается.
>Из-за этого получается, что кружок, столкнувшийся в атаке, быстрее перенесёт последствия столкновения (так как пропутешествует не по всему графику временного ускорения, а только по его части).
>А тот, кто столкнётся на пике атаки - перенесёт значительно быстрее. Так рассчитать, чтобы попасть во врага на максимальной скорости, потребует определенной ловкости, которую стоит поощрять. А чем быстрее перенесёшь последствия столкновения, тем лучше.
Игрок может встретить своего врага и столкнуться с ним.
Результат столкновения - изменение каких-то параметров игрока. Результат столкновения зависит от каких-то параметров игроков.

Изменение может быть временным или постоянным, простым ("-1 к здоровью") или сложным ("+1 к скорости каждые [X] секунды в течении [X] секунд" функция какая-то).
Изменение может изменять ("ускорить ускорение" какая-то сложная функция) или прерывать ("остановить ускорение", "остановить ускорение и сбросить скорость к нормальной") сложные изменения.
Изменение может на время пометить игрока, например "игрок в атаке". Тогда атакующий игрок в любом случае будет отличаться от не атакующего.
Изменение может быть вызвано не только столкновением. Изменение "атака", например, вызывается нажатием кнопки.
>Запутанно вышло, можно описать иначе, как конструктор.
>Конструктор разумно сделать для тестов. Конструктор, где подбираешь событиям изменения. Создаёшь разные виды изменений и пишешь условия срабатывания изменений.

>Изменения: ускорение (возможно, несколько видов) или сброс скорости к нормальной, увеличение в размере, мгновенный возврат возможности атаковать, получение очков (если очки будут), метки (такие как "игрок в атаке").

>События: начало атаки; столкновение с соперником, столкновение с атакующим соперником, столкновение в атаке с атакующим соперником, столкновение в атаке с соперником; аналогично четыре события с союзником; столкновение с бонусом, столкновение с бонусом в атаке.
С игроком может произойти какое-то событие (столкновение, нажатие кнопки "атака"), и событие вызовет какое-то изменение, если условие изменения выполнится.
>> No.12900  
Файл: 07 wasu terface 8bit.png -(3973 KB, 3675x3136, 07 wasu terface 8bit.png)
3973
Пикчеснабжение. Тема - вода и её поверхность.
Это и есть упомянутое снабжение:
>Какими пикчами или текстами тред нуждается в снабжении эти дни?
>> No.12914  
Файл: dive_by_blue_hamu-d7lrlbt.jpg -(1331 KB, 3648x3419, dive_by_blue_hamu-d7lrlbt.jpg)
1331
>>12900
Левая верхняя ничего так малюет, да. Хорош аутировать!
>> No.12950  
Файл: negit nekit тупше тулше.jpg -(942 KB, 1024x1290, negit nekit тупше тулше.jpg)
942
>>12875
>Я до начала июля занят буквально по уши

Это могло, могло быть отсылкой к музыке или особому роду ушей, но нет, это не.

Основной картой, думаю, будет куб. Куб опоясан лентой. Грани куба рассекают зеркала. По кубу ездят кружочки и атакуют друг друга своим телом, рывками. Сталкиваются и разъезжаются, теряя друг друга из вида. Возможно, в игре будет что-то ещё. Но сначала тесты только с игроком, ботами и зеркалами.
Звёзды понравились, как и 2d герой-кружок.

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

Пипис: правила изменения параметров из-за событий. Событие может изменить пипис для игрока.

Наборы параметров кружков. Скорости (это множественное число), здоровье, размер, положение камеры и всё остальное.

Графика (что и как видно в зеркалах, что и как видно сквозь грани) и расположение зеркал и ленты (и есть ли они вообще). Событие может изменить графику или расположение зеркал или ленты.

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

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

Из этого собирается, называется и сохраняется "режим игры". Из этого собирается игра. Это можно настраивать прямо во время игры (игра паузится). Можно сохранять и наборы параметров, и настройки графики, и расположения зеркал, и команды, и пипис'ы, и правила игры по отдельности.
>> No.12951  
Пипис

С кружком может произойти событие. После события параметры кружка изменятся. Как изменятся параметры, определит формула. Но не одна формула: нет одной формулы для всех параметров, для разных параметров разные формулы. Возможно(,) бесконечно формул. Если такие-то параметры таких-то сущностей имеют такие-то значения или значения в таких-то диапазонах, то происходят такие-то изменения. Дерево (или не-дерево), в узлах которого условия или изменения.

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

Изменение может быть временным или постоянным, простым ("-1 к здоровью") или сложным ("ускорение" функция какая-то).
Изменение может изменять ("ускорить ускорение" какая-то сложная функция) или прерывать ("остановить ускорение", "остановить ускорение и сбросить скорость к нормальной") сложные изменения.
Изменение может на время пометить игрока, например "игрок в атаке". Тогда атакующий игрок в любом случае будет отличаться от не атакующего.

Графика

Видны ли в зеркалах другие зеркала? Отражаются ли они как зеркала, или как неотражающие поверхности? Неотражающие поверхности прозрачны или закрашены цветом? Каким цветом?
Видны ли зеркала сквозь грани?..
Игрок видит своё отражение в зеркале? Каков игрок, такого и его отражение? Или отражение закрашено цветом? Каким? Видны ли кружки сквозь грани или зеркала? (В обычной игре не видны конечно, но для тестов может пригодиться всё видеть.) Отражаются ли в зеркалах союзники или противники?
Отражаются ли звёзды в зеркале? Видны ли звёзды сквозь грани?
Видна ли лента в зеркалах? Видна ли лента сквозь грани? Какого цвета лента? Меняется ли её цвет в отражении? Меняется ли её цвет сквозь грани?

Расположение зеркал

Зеркало может рассекать грань прямо пополам или пополам по диагонали. Всего для грани-квадрата четыре варианта: две средние линии и две диагонали.

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

Можно расставлять зеркала по граням вручную; можно расставлять рандомом; можно настроить, чтобы зеркала расставлялись рандомно, в каждом бою по-новому; можно, чтобы на одни из граней из боя в бой зеркала ставились одинаково, а на другие — случайным образом.
>> No.12960  
Файл: Copeher 6iul 2204.png -(396 KB, 1787x1556, Copeher 6iul 2204.png)
396
Пипис это как пикрилейтед, только в узле могут быть несколько вопросов, в узле с вопросами могут быть изменения (в случае пикрилейтед, "изменения" — это результаты-диагнозы) и связи узла с другими узлами могут меняться в зависимости от (не)выполнения условий в узле.

Пипис — граф. Лупов-петлей в нём нет, в отличии от пикрилейтеда, но узлы, к которым можно прийти двумя путями, причём путями разной длинны, наверное возможны. Хотя можно избежать этого созданием копий узлов.

И пипис не визуализируется, то есть не рисуется, то есть не https://en.wikipedia.org/wiki/Graph_drawing. Это как если бы на борде ты начинал открывать тред с одного поста, в котором ссылки на другие посты. Нажимаешь на ссылку первом посте, и под первым постом в треде появляется следующий пост. Нажимаешь ссылку во втором посте — появляется третий. Нажимаешь другую ссылку в первом посте, и все следующие посты пропадают, появляется другой второй пост.
>> No.12961  
Файл: пипис 6iul 837 1920.png -(625 KB, 1920x3836, пипис 6iul 837 1920.png)
625
>связи узла с другими узлами могут меняться в зависимости от (не)выполнения условий в узле

См. "узел" и "зачем нужны эти ребята?"
>И пипис не визуализируется, то есть не рисуется, то есть не https://en.wikipedia.org/wiki/Graph_drawing . Это как если бы на борде ты начинал открывать тред с одного поста, в котором ссылки на другие посты. Нажимаешь на ссылку первом посте, и под первым постом в треде появляется следующий пост. Нажимаешь ссылку во втором посте — появляется третий. Нажимаешь другую ссылку в первом посте, и все следующие посты пропадают, появляется другой второй пост.

См. "не сжато" и "сжато".
Я под сжатым видом вижу ничто иное как путь поиска от А до Б.
— Рэмбо.

Я (даже не)пытался достать и полезную информацию, но увы:
http://iichan.hk/b/res/3580001.html



[ d ] [ b / cu / dev ] [ r ] [ a / ts ] [ ci ] [ gnx / int ] [ misc ] [ dev / stat ]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог] [Главная]