30

Сперва добейся челенж

Я тут начал советовать советы всякие и мне резонно заметили, чтоб я сперва сам чото сделал, прежде чем умничать. К сожалению в будни было много работы и особо сил не было заниматься этим. Так минут по 20-30, поглядывая ютубчик и поигрывая в шахматы. В субботу сдохла винда :D поэтому рабочее настроение благополучно не появилось. В общем, на всё про всё часов 7-8 работы (пополам с ютубом и шахматами) и получился прототип платформера

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

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

Управление сейчас: "D" - движение, "W" - смена скила (белый квадратик со стрелкой на видосах это скил движения вперёд. Есть ещё кувырок и прыжок ).

При падении уровень перегенеривается с помощью справочной информации из соответствующего объекта. в проекте. В которой можно указать кол-во платформ для генерации уровня, какие именно платформы будут использоваться при генерации. Их веса сейчас захардкожены (первый в листе используется чаще и по ниспадающей), но нет никаких проблем вынести развесовку в конфигурационный файл. При достижении зелёной стрелочки геймконтроллер повышает уровень сложности и ищет в списке конфигурационных файлов соответствующий текущей сложности, с помощью которого генерит новый уровень. В принципе и скилы движения можно вынести в точно такой же конфигурационный файл, но в данном случае хотелось добавить разнообразие решений. Таким методом можно, в том числе, реализовать телепорт. Да и всё что хочешь. Логике всё равно, что будет делать скилл :)


гит проекта для тех, кто хочет посмотреть как это вообще "проект игры на юнити, я никагда нивидил": https://github.com/MrMouseSE/Platformer

билд погонять с 9ю уровнями (после 9ого сброс на 1ый): https://github.com/MrMouseSE/Platformer/blob/main/build.zip

з.ы. баланса нет, можно заспамить кнопку движения и летать ^_^

Собственно, к чему я это всё?

Сперва добейся челенж Unity3D, Обучение, Компьютерная помощь, Gamedev, Видео, Мат, Длиннопост

Посмотрев на последние посты пикабушников в группе я в несколько шоковом состоянии, если честно. Люди тратят просто безумное количество времени и сил, реализовывая свои хотелки, зачастую вопреки здравому смыслу и логике. Стандартная ошибка начинающего: "ввязаться в бой, а там видно будет" и непонимание "у кого и что спросить" толкает людей к совершенно необдуманным поступкам. В итоге труд, который тратится на создание тривиальных вещей просто поражает воображение. Вполне допускаю, что для этих людей важен ПУТЬ, а не достижение цели, но (вроде бы) декларируют они конкретные вещи (а не бесконечные прогулки по граблям).

Я честно не понимаю в чем проблема, по моему мнению - учебного материала просто невероятное количество на сегодняшний день. Возможно как раз в этом и проблема для кого-то (не знает с чего начать). Возможно проблема в незнании как поставить вопрос. Возможно, что причина - нехватка компетентного специалиста под боком, у которого можно получить консультацию. У каждого могут быть свои причины. Вполне допускаю, что кому-то не заходят форматы видеообучающих материалов и ЖИВОГО ФИДБЕКА, когда можно задать вопрос непосредственно по своей реализации и получить конкретный ответ, а не пример на "кубиках".

Так вот:

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

В чем я могу помочь:
-инструментарий Unity
-моделлирование
-эффекты
-шейдера
-программирование (клиент/эдитор)

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

Имеется коммерческий опыт во всём этом (тех.худ 6 лет, моделлер 4 года. Мобилы, Юнити)
-с рисованием могу подсказать инструментарий :D

не ко мне:

-клиент-серверное программирование

-баланс

-маркетинг

В общем - чисто технические вопросы по клиентской разработке.

Зачем это мне:

Я просто очень хороший человек У меня есть чисто шкурный интерес. По роду деятельности мне приходится обучать новеньких и смежников из отрасли всяким азам (и не очень азам) профессии, поэтому всё больше становится необходим именно такой опыт "как обучать людей".

Какой формат:

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

Прозрачность:

В качестве доп стимула и большей открытости и пользы для сообщества - буду постить раз в какой-то промежуток времени развернутый отчет о проделанной работе и прогрессе, который получился в результате сотрудничества (с позволения автора), ну либо сам автор пусть постит, собирает плюсцы ^_^


Ну и чтобы всё это не сочли за рекламу - все контакты для связи в комментах, если будет заинтересованность. Ну или топите пост, если никому не интересно. В конце концов: изобретать велосипед - это народная забава разработчиков!

Сперва добейся челенж Unity3D, Обучение, Компьютерная помощь, Gamedev, Видео, Мат, Длиннопост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

Нужен консультант по архитектуре многопользовательских настольных игр на unity
Хочу разрабатывать типа opensourse  фреймворка

Я работаю мидлом на C# пилю модули в заданной архитектуре, но это скучные бюрократические модули.
Взялся за юнити, но не знаю как задать правильную архитектуру.

раскрыть ветку (12)
Автор поста оценил этот комментарий

а что такое "многопользовательские настольные игры на Unity"? О____о

раскрыть ветку (11)
0
Автор поста оценил этот комментарий


У меня есть заказ на игру такого типа

Предпросмотр
YouTube12:13
раскрыть ветку (6)
Автор поста оценил этот комментарий

у этой игры же один юзер О_о

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

У этой один, а надо на 4 юзеров

раскрыть ветку (4)
Автор поста оценил этот комментарий

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

раскрыть ветку (3)
0
Автор поста оценил этот комментарий

Если расписывать подробно, то можно задать неправильную архитектуру.
Ну допустим.

На уровне архитектуры надо чтобы 4 игрока могли двигать по квадратным клеткам. свои фигуры по очереди у себя в мобильном приложении или на ПК.
Игровое поле, наверное надо формировать из двухмерного массива.
Отображение хода активного игрока, надо показывать остальным игрокам.
Надо чтобы в клетки можно было закладывать события.
Надо собирать статистику ходов и событий.
Надо игрокам задавать изменяемые параметры и записывать их.
Надо из накопленных данных вычислять победителя.

Надо чтобы архитектура позволяла удобно добавлять фичи.

В общем нужен урок о правильной архитектуре примитивной многопользовательской настольной игры в виде приложения.

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

ну как я писал в посте - у меня нет прикладного опыта разработки сетевых приложений. То о чем ты пишешь - лучше всего реализовывать на системах. Грубо говоря - у тебя есть система, которая перемещает игрока по полям, есть система, которая управляет полями (событиями), есть система, которая управляет счётом. И все они работают независимо друг от друга. Тогда встраивание фич будет довольно мало связаных вещей касаться, а значит будет довольно просто проходить. Такой подход требует создания очень высоко абстрагированных контроллеров. Которые работают уже не с конкретными какими-то вещами, а именно являются обработчиками систем. Для них будут характерны такие вещи как "игровой цикл". Когда контроллер пойдёт опрашивать все системы, давать им зелёный свет на то, чтобы они что-то поделали и обновили состояния.
Состояния систем нужно выделять и изолировать. Грубо говоря - системе должно быть всё равно, что обрабатывать. В ней хранится некоторая логика, которая принимает на вход данные, а выдает результат. Тогда ты сможешь "добавлять фичи", добавляя в пул обрабатываемых системой объектов новые.

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

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

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

Игрок - это отдельный объект. Скорее всего это тоже будет отдельная система со своей отдельной моделью. Хранить инфу об игроке можно в SO или жисонках или вообще в классе отдельном (скорее всего последнее будет предпочтительнее). Но тут без конкретики не понятно немного о чем вопрос.

Вычислять победителя - вообще не проблема, если ты будешь приводить все данные для игрока, а тебе придётся это делать, потому что иначе ты ёбу дашь обрабатывать разрозненные данные )

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо, буду думать

0
Автор поста оценил этот комментарий

Ну, картонки например

Иллюстрация к комментарию
раскрыть ветку (3)
Автор поста оценил этот комментарий

но это ж ККИ а не "настольные" игры о.О

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Вроде в них на столе играют

Иллюстрация к комментарию
раскрыть ветку (1)
Автор поста оценил этот комментарий

на столе вообще можно всякое делать :)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку