Gamedev


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
21 9 15

Void in the Dark Аноним 16/06/20 Втр 20:21:56 6770851
Void in the Dar[...].gif (1873Кб, 640x360)
640x360
Небольшая игрушка, которую я постепенно собираю для себя.
Игра про лоли, которая застряла в тёмном лесу, и ей нужно идти вперёд, чтобы не быть съеденной тем, что живёт в темноте.

И при этом не дать угаснуть свече, это последнее, что держит её в безопасности.
Аноним 16/06/20 Втр 20:23:15 6770872
Осталось:
- докрутить движение камеры вперёд;
- добавить саунд;
- переход между уровнями;
- ну и если будет художник, то переделать графон.

Work in progress
Аноним 16/06/20 Втр 20:48:33 6770943
144873187614689[...].jpg (46Кб, 546x366)
546x366
Аноним 16/06/20 Втр 20:59:01 6771004
15910417303350.png (984Кб, 1200x1650)
1200x1650
>>677094
Всё сфв, если что - я просто и не художник и не кодер, так что сосредоточился на том, что у меня наименее плохо получается - передаче экспириенса.

А по моей задумке, у игрока должно возникать желание сохранить %персонажа%, которому, в свою очередь, нужно сохранить свой свет.
И для этой роли, по-моему, лучше всего подходит маленькая, беззащитная лоля ¯\_(ツ)_/¯
Аноним 16/06/20 Втр 23:30:31 6771285
>>677085 (OP)
Здесь уже есть игра про лоли в лесу!
Аноним 17/06/20 Срд 00:04:45 6771346
>>677128
Я думаю, кашу лолями не испортить
Аноним 18/06/20 Чтв 01:19:12 6774057
пик 1.png (79Кб, 1252x389)
1252x389
пик 2.png (99Кб, 1252x392)
1252x392
Уф, небольшие апдейты.

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

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

А ещё немного оптимизировал код - раньше герой и рандомно создающиеся объекты не привязывались к объекту борд-менеджера и на экране отладчика это всё жопно выглядело пик 2.
Возможно, это ещё поможет пофиксить баг с DontDestroyOnLoad(), который не давал мне сохранять часть объектов при рестарте.

Дальше, по идее, нужно привязать спаун героя к левому краю и запускать постепенное движение камеры, чтобы можно было бежать на время.
Аноним 24/06/20 Срд 16:38:58 6785248
>>677405
>постепенное движение камеры, чтобы можно было бежать на время

тьфу блядь, это раннер штоли? я думал, эксплорейшен
Аноним 25/06/20 Чтв 20:17:47 6787179
Аноним 26/06/20 Птн 03:08:34 67876710
>>678524
Ага, раннер - хотя я бы хотел передать игроку впечатления как от эксплорейшона.
Аноним # OP 26/06/20 Птн 03:19:09 67876811
Dead Loop.png (21Кб, 1022x768)
1022x768
>>678717

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

Вчера начал писать код на бумаге.
Сегодня залился чаем по самое горло, и таки добил эту функцию как мне казалось.

В итоге, после запуска в цикле мне сначало выдало пикрелейтед.
А на второй раз после рестарта юнити вошёл в мёртвую залупу, несмотря на жёсткое ограничение по количеству циклов проверки.

Сейчас буду дебажить и смотреть, где я проебался.
Аноним 26/06/20 Птн 10:00:56 67878312
>>678768
давай, давай, ебошь, я жду
Аноним 26/06/20 Птн 18:19:15 67885113
SafeWay.png (28Кб, 730x490)
730x490
Выцепил вчера две ошибки. Одну, простую, разобрал быстро - мне нужно было выдавать false при y<0, а не y<=0.
Убрал её, ч/б эффекты пропали.

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

1 1 1
1 0 1
0 0 1
1 1 1

Зато я научился дебажить, так что это заебись.

Пойду пожарюсь на солнышке, мб найду элегантное решение а если не найду, то нахуярю костылей. Я бы мог и сразу нахуярить костылей, но для меня это сейчас логическая задачка, к которой важно самому найти правильное решение.
Аноним 27/06/20 Суб 06:53:51 67893514
1593230030902.jpg (25Кб, 383x411)
383x411
Аноним 27/06/20 Суб 10:53:41 67895315
>>678851
Ты алгоритм заливки изобретаешь?
Аноним 27/06/20 Суб 19:04:27 67901216
>>678953
Ага, лол.
Кто-то, когда хочет попердолиться, начинает изобретать свой движок, я же для себя взял небольшую функцию.

Спасибо за ссылку, кстати - когда доведу до рабочего вида, посмотрю на другие решения правильные.
Аноним 28/06/20 Вск 01:45:31 67909517
>>677085 (OP)
Почему свет шестиугольный?

>Игра про лоли, которая застряла в
Застревают они обычно в дырках в стене. А у тебя она заблудилась в высокой траве, судя по всему.
Аноним 28/06/20 Вск 13:34:54 67912618
>>678768
> рекурсивную функцию, которая должна была проверять массив тайлов уровня на проходимость
пиздец..
Аноним 11/07/20 Суб 04:08:37 68218919
Debug Half-Loop.png (297Кб, 1041x786)
1041x786
Debug Half-Loop[...].png (303Кб, 1024x774)
1024x774
Debug Half-Loop[...].png (295Кб, 1029x781)
1029x781
Debug Half-Loop[...].png (297Кб, 1028x764)
1028x764
Так, я взял небольшой перерыв чтобы поиграть в игры и почитать веб-новеллы, и он затянулся всего на две недели.


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

Но проблемы всё ещё остались - при перезапуске уровня я наткнулся на то, что при перезапуске уровня герой или общий объект просто не хотят удаляться, хоть в рот их еби.

Если несколько объектов висят параллельно на карте, то получается вот такое свечение, и герой не может двигаться, пока не удалить лишнее.
По идее, черно-белые ромбы которые я кидал выше, это следствие слишком большого количества объектов, висящих параллельно в одном месте, это же и роняло юнити.


При попытке дебаггинга юнити крэшится нахуй подозреваю, что как раз при возникновении этой ошибки, так что пощупать, на каком этапе идёт ошибка, я не могу.
Но подозреваю, что дело в особенностях юнити, и в том, что под капотом часть объектов написана на вот бы вы думали плюсах, и эта часть объектов действительно удаляется из памяти, если к нему вызвать Destroy().
А вторая часть написана на сисярпе, и вот с ними-то и проблемы - при Destroy() они посылают тебя нахуй, и висят в памяти до тех пор, пока обработчик мусора не обратит на них внимание.
А когда это происходит - хуй его знает.

Придётся дейстоввать по старинке - пробовать всякую странную дичь, и надеяться что получится.

Начну с удаления объекта с задержкой, а для этого придётся разбираться с корутинами. А после этого попробую мануально вызывать сборщик мусора хоть и подозреваю, что хуй что у меня получится с этим.
Аноним 11/07/20 Суб 04:17:36 68219020
>>679095
Говоря про лоли и дырки, мы вступаем на скользкую дорожку, так что предпочту промолчать.

Свет шестиугольный до тех пор, пока не придумаю что-то более запоминающееся и при этом примечательное. Пока что мне нравится идея того, что свеча выглядит как бы в гранёном стакане, но это придётся переделать.
Аноним 11/07/20 Суб 04:33:53 68219121
Debug all delet[...].png (25Кб, 1230x438)
1230x438
Наконец-то сработало, как я и хотел.

Запуск с задержкой через Invoke наконец-то дал сборщику мусора возможность отработать, так что по иде я разобрался.
Правда, пока что удаляет все объекты с этим тегом на доске, но это я починю чуть попозже.
Аноним 15/07/20 Срд 07:31:13 68282522
Отписались по поводу креша, его починили в юнити 2019.4.
https://issuetracker.unity3d.com/issues/macos-crash-on-buffer-add-value-full-when-debugging-with-code-editor-attached

Перекатываюсь прямо сейчас на него с юнити 2019.3, потому что увидел ещё один важный фикс в 2019.4.0:

>Editor: Fixed an Editor issue on Windows where while in playmode and paused one or more CPUs would be utilized at 100%. (1219619)

Надоело уже наблюдать, как ноут воет от напряга после каждого запуска/остановки.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов