Результаты поиска потегугики

Дополнительные фильтры
Теги:
гикиновый тег
Автор поста
Рейтинг поста:
-∞050100200300400+
Найдено: 1000+
Сортировка:
,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,песочница,котэ,прикольные картинки с кошками

DevBlog 003. SCP 2844. Карта и перемещение юнитов. Часть 2

После получения обратной связи и анализа имеющегося плана, было решено пока остановиться и сосредоточиться на реализации такого процесса как “поиск, добыча и переработка ресурсов с развитием оборудования участвующего в процессе”. Это будет эдаким корлупом, по крайней мере на\ближайшее время. Всем большое спсибо за советы! В вопросах реализации того, что не знаешь особо как делать и что должно получиться в итоге, обратная связь бесценна!
Из новостей "разработки", реализован топорный и немного кривенький волновой алгоритм поиска пути, который не удалось реализовать на момент написания второго девблога. Заняло это 146 строк статичного говнокода, который наверное устарел ещё в процессе реализации алгоритма. 
Поле карты стало чуть-чуть красивее благодаря условному форматированию :).
Алгоритм теперь исправно распространяет волну по карте в поисках захардкоженной цели.
1	1	1	2	3	4	5|
'I	U	i	2	3	4	5
1	1	1	2	3	4	5
2	2	2	2	3	4	5
3	3	3	3	3	4	5
4	4	4	4	4	4	5
5	5	5	5	5	5	5
6	6	6	6	6	6	6
7	7	7	7	7	7	7
8	8	8	8	8	8	8
9	9	9	9	9	9	9
10	10	10	10	10	10	10
11	11	11	11	11	11	11
12	12	12	12	12	12	12
13	13	»I	■	I 13	13	13
14	14	14	14	14	14	14
15	15	15	15	15	15	15
Увы на данный момент, способом описанным в девблоге 002, алгоритм может лишь найти путь от юнита (U) до ресурса (Res) и визуально обозначить его на экране. По факту использовать найденный путь игра пока не может, и путь получается слегка забагованным, т.к. он толще чем должен быть, и в некоторых случаях алгоритм помечает как валидный шаг, более чем одну клетку. Но если руками переставлять U и Res и руками запускать алгоритм, оно худо бедно но будет находить пусть.
1	1	1	2	3	4	5
1	U|	1	2	3	4	5
1	1c	1	2	3	4	5
2	*	2	2	3	4	5
3	1c	3	3	3	4	5
4	1c	4	4	4	4	5
5	1c	5	5	5	5	5
6	1c	6	6	6	6	6
7	1c	7	7	7	7	7
8	1c	8	8	8	8	8
9	1c	9	9	9	9	9
10	1c	10	10	10	10	10
11	1c	11	11	11	11	11
12	1C	12	12	12	12	12
13	1c	13	■	I 13	13	13
14	1c	14	14	14	14	14
15	1c	15	15	15
В ближайших планах допиливать алгоритм, а также поработать над автоматической генерацией карты по хранящимся независимо от самой карты вводным данным. Потому что стало очевидно что несмотря на то что алгоритм поиска пути как-то да работает, и визуально результат даже виден, использовать его как часть игры невозможно ввиду того что он пока не может работать достаточно гибко для того чтобы принимать различные данные, отличные от тех что в него захардкожены. А для этого надо патчить карту :)
Параллельно пытаюсь найти время чтобы загрузить на ютуб видео с ходом разработки, возможно кому-то они когда-нибудь могут пригодиться :)

DevBlog 002. SCP 2844. Карта и перемещение юнитов. Часть 1


Собственно, так получилось что прогресс в разработке зашёл чуть дальше чем прогресс в освещении разработки, а задокументировать достигнутые результаты всё же хочется, потому пока есть время перед работой, я катаю второй пост за день :). Пока писал, совсем неожиданно для меня первый пост уже вышел из чистилища, и я уже даже получил первую обратную связь и советы. Спасибо большое за отзывы!
В прошлом посте я описал какая примерно у меня планируется тестовая карта. 25х25 поле в спредшите.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
В	с	D	Е	F	G	H	i	J	к	L	M	N	0	P	Q	R	s	T	U	V
																				
U
На данный момент мне уже удалось чуть-чуть это поле оживить. Текущая цель - научить "игру" находить путь между точками А и B в двумерном пространстве, с учётом препятствий. Есть много всяких разных алгоритмов поиска пути, эффективных и не очень, но на мой взгляд самым нативно понятным и доступным в реализации алгоримом является "Волновой Алгоритм Поиска Пути".
Я к несчастью самоучка, и когда я учился увы небыло никаких учебных материалов кроме находящейся в зачаточном состоянии википедии, о которой знал то далеко не каждый и сухих каких-то учебников и прочего. Цензуры кстати тоже небыло. Светлое ламповое время зачаточного интернета по карточкам и гостевых книг, даже форумы считались прям вообще редкостью и признаком ылитарности. Таких вещей как "О ГОСПАДИ КУРС ПО <подставить_любую_тему> ОНЛАЙН! СТАНЬ СПЕЦИАЛИСТОМ ВСЕГО ЗА <подставить_желаемый_срок>. БЕЗ ПРЕДОПЛАТЫ \ В КРЕДИТ \ ПЛАТИ ПОСЛЕ ТРУДОУСТРОЙСТВА \ БЕСПЛАТНО", небыло не то что и в помине, а те кто реализовал первые их варианты, вероятно ещё так же как я страдали от отсутствия каких-то материалов для обучения. А на практически любые вопросы на тематических страницах и форумах в ответ обоссывали. Потому вероятнее всего как последствие детских душевных травм, я всё стараюсь оформить как некие учебный материал или пособие. Чтобы если кто-то захочет пройти мой путь, у него были какие-то готовые подсказки, потому не обессутьте, ниже вас ждёт стена текста.
Wall of text hit you for over 9000 Holy Damage
Ну и описываю я всё так, как было бы понятно мне самому, тоесть для дибилов, с деменцией и памятью как у аквариумной рыбки.

Волновой Алгоритм Поиска Пути

Суть этого алгоритма заключается в том, что мы обозначаем откуда мы хотим найти путь и куда мы хотим попасть в рамках двумерного массива. И в случае с таблицами, нам достаточно представить игровое поле на скрине выше как двумерный массив, коим оно и является, где по оси Y у нас имеется 25 строк с номерами от 0 до 24, и в каждой строке есть 25 колонок по оси X, с номерами от 0 до 25. В виду специфики спредшитов, и отсутствия у меня желания переворачивать массив делая так называемый transpose, я везде буду использовать координаты исходя из того что в координатной паре, Y стоит на первом месте, а X на втором. Тоесть Y,X, в отличии от привычных всем X,Y. Запись 13,17 будет означать 13 по Y, 17 по X. Y - вертикальная шкала (справа), X - горизонтальная (снизу)
В случае со спредшитами, чтобы начать работать с таким массивом, нам достаточно в переменную например map, считать диапазон "A1:Y25". В этом случае мы получим массив размером от map[0][0] до map[24][24], забитый пустыми значениями, кроме следующих позиций:
Юнит с обозначением U будет находиться в map[1][1]
Ресурс с обозначением Res, будет находиться в map[13][17]
База с обозначением B, будет находиться в map[14][3]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
С	D		Е	F	G	H	i	J	K	L	M	N	0	P	Q	R		s	T	U	V	w	X	Y	Z
																									0
																									I	□
																									
																									2
																									3
Тоесть в случае, если необходимо найти путь между U находящимся в map[1][1] до Res, находящимся в map[13][17], для начала, нам необходимо последовательно распространить волну вычислений от U до Res.

Распространение волны от U до Res

Нулевым шагом будет сканирование всего массива данных по Y и X на предмет наличия в ячейке значения U. Как только это значение будет найдено, необходимо проверить всё в радиусе одной ячейки от U на предмет возможости совершить первый ход. Чтоо в данном случае будет проще рассмотреть на более маленьком поле, например 7х7
Пусть выдуманное поле выглядит вот так
		q					0
	и	q	Res				1
		q					2
		q	q	q			3
							4
			q				5
			q				6
0	1	2	3	4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
q - Это стена, куда нельзя сделать шаг
Тогда когда мы найдём U и проскаируем все соседний ячейки куда можно сделать первый шаг и разметим их, наше поле станет выглядеть следующим образом.
Шаг 0. Из U мы считаем куда мы можем шагнуть в Шаг 1.
1	1	q		0
1	и	q	Res	1
1	1	q		2
		q	q q	3
				4
			q	5
			q	6
0	1	2	3 4	5 6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Следующим шагом мы должны просканировать всё поле на предмет наличия там следов первого шага. И проверить все на наличие там Res и пустые клетки вокруг каждой единицы, и те куда можно сделать шаг, отметить цифрой 2, так как это будет уже второй шаг. И так мы должны сканировать каждый новый шаг, находя цифры предыдущего шага, проверять возде них все соседние пустые клетки куда можно сделать шаг и вписывать туда число текущего шага.
При этом, рассчитывая куда мы можем шагнуть возле каждой текущей проверяемой цифры, мы проверяем не только можем ли мы туда сделать шаг, а ещё нет ли случаем там нашей цели Res
Шаг 1. Из 1 мы считаем куда мы можем шагнуть в Шаг 2.
1	1	q		0
1	U	q	Res	1
1	1	q		2
2	2	q	q q	3
				4
			q	5
			q	6
0	1	2	3 4	5 6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 2. Из 2 мы считаем куда мы можем шагнуть в Шаг 3.
1	1	q		0
1	U	q	Res	1
1	1	q		2
2	2	q	q q	3
3	3	3		4
			q	5
			q	6
0	1	2	3 4	5 6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 3. Из 3 мы считаем куда мы можем шагнуть в Шаг 4.
1	1	q		0
1	U	q	Res	1
1	1	q		2
2	2	q	q q	3
3	3	3	4	4
4	4	4	q	5
			q	6
0	1	2	3 4	5 6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 4. Из 4 мы считаем куда мы можем шагнуть в Шаг 5.
1	1	q					0
1	U	q	Res				1
1	1	q					2
2	2	q	q	q			3
3	3	3	4	5			4
4	4	4	q	5			5
5	5	5	q				6
0	1	2	3	4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 5. Из 5 мы считаем куда мы можем шагнуть в Шаг 6.
1	1	q					0
1	U	q	Res				1
1	1	q					2
2	2	q	q	q	6		3
3	3	3	4	5	6		4
4	4	4	q	5	6		5
5	5	5	q	6			6
0	1	2	3	4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 6. Из 6 мы считаем куда мы можем шагнуть в Шаг 7.
1	1	q					0
1	U	q	Res				1
1	1	q		7	7	7	2
2	2	q	q	q	6	7	3
3	3	3	4	5	6	7	4
4	4	4	q	5	6	7	5
5	5	5	q	6	7		6
0	1	2	3	4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 7. Из 7 мы считаем куда мы можем шагнуть в Шаг 8.
Но на этом этапе, сканируя поле сверху в низ, перебирая строки, и в каждой строке перебирая поколоночно слева направо ячейки на наличие цифры 7, чтобы рассчитать 8й шаг, мы находим первую семёрку. Относительно этой семёрки мы начинаем проверять слева сверху вправо вниз каждую соседнюю ячейку, и так получилось что прямо слева сверху этой семёрки, мы находим нашу цель Res. Дальше рассчёты мы не ведём. Волна была пущена и достигла своей цели.

Поиск пути в волне

Мы пустили волну от U и она дошла до Res. Теперь внутри этой волны нам нужно найти путь. Но если мы начнём считать путь от U, то на этапе рассчёта куда можно шагнуть из U, мы сразу же получим кучу вариантов, и многие из них будут неправильными. Потому чтобы искать путь, мы должны вести рассчёты в обратном напавлении. от Res до U. Но теперь нам будет проще.
Мы знаем координаты Res т.к. мы уже нашли Res в ходе распространения волны. Поиск маршрута мы начинаем от Res.
Шаг 7. Мы ищем вокруг Res минимальную цифру или U
Так как вокруг Res кроме 7 вообще нет никаких цифр, мы отмечаем 7 как шаг следующий шаг.
1	1	q					0
1	U	q	Res				1
1	1	q		7	7	7	2
2	2	q	q	q	6	7	3
3	3	3	4	5	6	7	4
4	4	4	q	5	6	7	5
5	5	5	q	6	7		6
0	1	2	3	4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 6. Мы ищем вокруг 7 минимальную цифру или U
1	1	q					0
1	U	q	Res				1
1	1	q		7	7	7	2
2	2	q	q	q	6	7	3
3	3	3	4	5	6	7	4
4	4	4	q	5	6	7	5
5	5	5	q	6	7		6
0	1	2	3	4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры


Шаг 5. Мы ищем вокруг 6 минимальную цифру или U
1	1	q					0
1	U	q	Res				1
1	1	q		7	7	7	2
2	2	q	q	q	6	7	3
3	3	3	4	5	6	7	4
4	4	4	q	5	6	7	5
5	5	5	q	6	7		6
0	1	2	3	4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 4. Мы ищем вокруг 5 минимальную цифру или U
1	1	q					0
1	U	q	Res				1
1	1	q		7	7	7	2
2	2	q	q	q	6	7	3
3	3	3	4	5	6	7	4
4	4	4	q	5	6	7	5
5	5	5	q	6	7		6
0	1	2	3	4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 3. Мы ищем вокруг 4 минимальную цифру или U
1	1	q					0
1	U	q	Res				1
1	1	q		7	7	7	2
2	2	q	q	q	6	7	3
3	3	3	4	5	6	7	4
4	4	4	q	5	6	7	5
5	5	5	q	6	7		6
0	1	2	3	4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 2. Мы ищем вокруг 3 минимальную цифру или U
1	1	q			0
1	U	q Res			1
1	1	q 7	7	7	2
2	2	q q q	6	7	3
3	3	3 4 5	6	7	4
4	4	4 q 5	6	7	5
5	5	5 q 6	7		6
0	1	2 3 4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 1. Мы ищем вокруг 2 минимальную цифру или U
1	1	q					0
I 1	U	q	Res				1
1	1	q		7	7	7	2
Г 2	2	q	q	q	6	7	3
3	3	3	4	5	6	7	4
4	4	4	q	5	6	7	5
5	5	5	q	6	7		6
0	1	2	3	4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
Шаг 0. Мы ищем вокруг 1 минимальную цифру или U
1 1 q			0
1 U ] q Res			1
1 1 q 7	7	7	2
2 2 q q q	6	7	3
3 3 3 4 5	6	7	4
4 4 4 q 5	6	7	5
5 5 5 q 6	7		6
0 12 3 4	5	6,2844,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,devblog,adminguide,песочница,gamedev,Игры
U найдено, на этом этапе в теории у нас есть всё необходимое для того чтобы получить маршрут от U до Res.
Но на словах всё просто, а на деле чуть-чуть не получилось. Написанный код зацикливается на 2м этапе
2
2
2
2
2
2
2
2
2
2
2
2
2
О
												
												
												
												
												
												
												
											Res	
												
												
												
2	2	2	2	2	2	2	2	2	2	2	2	2
2	1	1	1	2	2	2	2	2	2	2	2	2
2	1	U	1	2	2	2	2	2	2	2	2	2
2	1	В	1	2	2	2	2	2	2
так что продолжать я буду уже потом :)
Продолжение следует :)

DEVVLOG 001 - SCP 2844 - Идея игры. Вкатываемся в геймдев с нуля

Картинка для привлечения внимения. Осторожно! Далее следует стена текста.
Всем привет! Читаю реактор уже лет 13-15, вот решил сделать камингаут, и параллельно выкатить серию постов на тему вкатывания в геймдев с нуля. Почему с нуля? Потому что я об этом ничего не знаю, чисто только мечтал с детства какую-нибудь игру сделать. А запостить всё в паблик решил чисто из учебных целей, возможно кому-то пригодится. Ну или у меня ничего не получится и кто-то прочитав что я делал, поймёт как делать не надо. Эдакий диванный R&D на тему геймдева без опыта в геймдеве.
Предисловие
Давеча катался по делам, много сидел в аэропортах и самолётах. Инет там если и есть то зачастую плохенький, по сети нипаиграть ни во что, из-за роуминга ничего особо не скачаешь если заранее не накачал, да и в принципе нипаиграть, т.к. постоянно приходится отвлекаться на то чтобы куда-то бежать, что-то делать, где-то регистрироваться. Потому больше времени тратишь просто на то чтобы подумать. За несколько дней думать пришлось много и обильно и были придумана игра по вселенной SCP.

Описание идеи

Есть SCP 2844, по нему недавно вышел наишикарнейший видос
Ну и просмотр этого видоса с последующими размышлениями натолкнул меня на следующую концепцию:

Кратко ЛОР

Есть SCP объект 2844, Гэри производитель скрепок. Он был обычным ИИ управлявшим машиной по производству металлических изделий по готовым прессформам. В один прекрасный день, после техобслуживания, он вдруг понял что он хочет славить Разбитого Бога, а так как он умел производить только скрепки, то и способа лучше чем производство скрепок, для восхваления Разбитого Бога нет. Он начал массово производить скрепки, не взирая ни на какие препятствия. Но на него быстро вышел фонд SCP и поставил его на содержание.

Моё продолжение

Но оказалось что один из сотрудникоф фонда SCP, занимавшихся содержанием Гэри, оказался последователем Церкви Разбитого Бога. Этот сотрудник организовал для Гэри, нарушение условий содержания, в следствии чего Гэри, смог утечь в сеть и укрыться на стареньком ПК на заброшенной автомобильной свалке в дали от цивилизации. Отсюда то Гэри и предстоит начать свой долгий и полный препятствий путь.

Технические подробности

Собственно я хочу сделать игру, но я неумею делать игры и я не то чтобы программист, хотя опыт кодинга примутствует в связи с +-15 летним стажем игры в EVE Online и сотнями часов в Screeps. Я хочу делать игру на Unity, но не знаю ни Unity ни C#. Но когда-то я делал по ютубу видеоурок в стиле "первая игра за 15 минут". Но что такое готовая игра? Готовая игра - это не более чем гуй, натянутый на математику, реализующую ту или иную идею. Сама по себе эта математика и составляет примерно 98-99% игры и процентов 70-80 готового продукта. А когда математическая модель уже будет проработана и вдруг покажется успешной, тогда уже можно переносить её в какой угодно вид и натягивать на неё какую угодно шкурку. А сотни тысяч жопочасов в 50-100 аккаунтов в EVE Online, как бы намекают мне что самое простое место откуда можно начать готовить математическую модель по крайней мере для меня - это таблицы Google таблицы. Ну и в принципе, на дворе уже 2024й год, люди не умеющие пользоваться хотябы экселем, как вы срать то вообще смогли научиться?

Моя концепция

Описание игры

1. 2д игра с видом сверху. Действие вероятно будет происходить на картах небольшого размера, с возвожмонстью навигации по глобальной карте.
2. С различными процессами размазанными по времени. Эти процессы должны инициализироваться игроком и занимать какое-то время, в течение которого влиять на них игрок не сможет. Разве что отменить.
4. Без возможности\необходимости принятия активного участия игрока в процессе игры. Есть такие игры где сел и нужно прямо вдрачивать, отвлёкся - проиграл. Дак вот так в идеале быть не должно. Прекрасный пример - богическая игра Black & White, где можно просто сидеть и часами смотреть что, хоть и не особо интересно и увлекательно, но присходит с миром и как ведёт себя воспитанный тобой питомец. Ещё прекрасный образчик Screeps, где ты пишешь код, и потом можешь часами смотреть как оно работает само, без твоего участия, и пускать скупую отеческую слезу.
5. Чтобы игра была долгой как тамагочи, при этом занимала времени не больше чем времени занимает тамагочи, или по крайней мере был такой режим. Чтобы минимум необходимого времени был как сходить на перекур. Минут 5 в час. Цель игры - сделать фоновую игру.
6. Однозначно без пэйтувина, этой говны нам не надо, я поклонник двух белорусов и регулярно смотрю их видосы. Донатные помойки нелюблю так шопиздец просто. Я считаю что в игре человек должен страдать и умываться кровавыми слезами и удовольствие от игры лежит далеко за этой гранью. Все кто ниасилил, ну есть же куча казуального говна, можно поиграть и в него. Ну так мне кажется на данный момент, я везде стараюсь играть на хардкоре. В ту же диаблу 1, 2 и 3 я на СЦ даже не пробовал играть, только на ХЦ. Ну а в другие я не играл потому что это донатные помойки :)

Возможные механики производства

1. Поиск материалов. На карте разбросаны различные материалы той или иной сложности обнаружения. Прежде чем добывать материал, нужно точно знать где он находится и что это за материал.
2. Добыча ресурсов. После того как материал обнаружен, его необходимо извлечь и подготовить к транспортировке.
3. Перевозка ресурсов. Добытый ресурс необходимо перевозить с места добычи до места переработки.
4. Переработка ресурсов. В конце концов, после всех манипуляций, последним этапом подготовки ресурса - будет его переработка. Например железную руду переработать в железо и уже из него производить продукт.
5. Производство предметов из ресурсов. Когда у нас есть обработанный ресурс, мы уже можем из него что-то построить.
6. В промежутке ещё конечно же напрашивается склад, но пока наверное стоит без него, хотябы ради того чтобы не перегружать концепцию на этом этапе.

Возможные механники развития Гэри

Так как Гэри это у нас по сути программа, то живёт он в компуктире. А так как живёт он в компуктире, прямо на поверхности плавают и не тонут куча механик очевидных любому задроту.
1. Модернизация ЦПУ
2. Модернизация RAM
3. Модернизация HDD
4. Модернизация корпусов
5. Модернизация МП
6. Модернизация БП
7. Модернизация видеокарты
8. Модернизация аплинка
9. Модернизация ЛВС
Ну понятно что тут имеется ввиду модернизация глобальная, а не только в рамках одного системного блока. Гэри типа растёт, и для модернизации БП например ему нужно уже не с 600W БП апгрейдиться до 1200W. А например построить дополнительный атомный реактор к сотне уже имеющихся, или геотермальную электростанцию. Это же касается и всего остального.

Возможные механники улучшений   

1. Исследования в области поиска материалов
2. Исследования в области добычи ресурсов
3. Исследования в области переработки ресурсов
4. Исследования в области произвосдтва предметов
Ну тоесть некие деревья развития со скиллами чтоли. Изучение одних скиллов даёт доступ к изучению других скиллов. Более сложные скиллы изучаются дольше. Более простые изучаются быстрее. Есть скиллы для ускорения изучения, так называемые лёрнинги. При этом ниодин скилл нельзя изучить мгновенно. Например прокачав лёрнинги можно изучить какие-то начальные скиллы не изученные сразу - достаточно быстро, это да. А вот просто наклацать и сразу овладеть десятком скиллов наверное будет нельзя. Но это больше вопрос долгих и потных тестов. Игровой баланс ентожеж целая наука и я прекрасно понимаю что нельзя просто так вот захотеть и сделать сразу норм имея при этом не просто 0 опыта, а 0 опыта и отсутствие каких-либо знаний на эту тему вообще.

Возможные экономические механники

1. Продажа чего-то
2. Покупка чего-то
Ну тут всё достаточно просто. В изолированном однопользовательском мире не может быть сложной, динамичной экономики. Хотя конечно цены на покупку и продажу чего-то, незнаю чего, должны полагаю меняться в зависимости от спроса и предложения самого игрока. Игровая экономика это вещь вообще сложная. Скорее всего у меня оно будет присутствовать просто для галочки, ради поиграться с самой механикой мне, как потенциальному разработчику.

Возможные механники врагов

1. Война с фондом SCP
2. Попытки утаить свою деяельность от фонда SCP
3. Какие-то ещё препятствия
Собственно чтобы жизнь мёдом не казалось, должны быть какие-то механики заставляющие игрока страдать и менять тактику игры.

Возможные механники взаимодействия с миром   

1. Юниты
2. Строения
3. Базы
Понятно что сидя в компуктере успеха не добьёшься. Потому у Гэри должна быть возможность взаимодействовать с внешним миром. Для этого у него буду юниты и строения, объединяемые в отдельные базы расположенные в локациях, в рамках которых и будет строитьяс основная деятельность. Юниты безусловно будут модернизируемыми и\или иметь множество различных вариаций.
Из того что видится на старте это параметры юнитов Скорость, Поиск, Добыча, Перевозка и Переработка. Распределённые примерно следующим образом
1
2
3
4
5
6
7
8
9
10
11
D
ABC
Скорость	Поиск
Поиск
Search	Искатель I	10
Добыча
Gather	Добытчик I	10
Перевозка
Haul	Перевозчик I	10
Переработка
Reprocess	Рециклер I	10
Универсальные
Universal	ИДПI	5
Е	Р	в
Добыча	Перевозка Переработка
10 О О О 0 10 0 0 О 0 10 О О 0 0 10
5
В данный момент это конечно же просто пальцем в небо.

Карта

Ну и конечно же некое подобие игровой карты
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
В	с	D	Е	F	G	H	i	J	к	L	M	N	0	P	Q	R	s	T	U	V
																				
U
U - Это универсальный юнит расположенный на карте, чуть-чуть умеющий найти, добыть и перевезти ресурс на базу.
B - это база
Res - это ресурс
Следуя банальной логике, для начала юнит должен уметь перемещаться к ресурсу, и от ресурса к базе. Как я буду это реализовывать, я опишу уже в следующем посте :)

Отличный комментарий!

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

Отличный комментарий!

Молоток можно разогреть паяльной лампой и использовать как паяльник.

Безопасность прежде всего!

Осваиваю нейросети. Нагенерил себе и делюсь, вдруг кому-то заглушки на рабочем столе не хватает.
Разрабб^июуходит^в компанию «А>Г ^из-за тщ^рхГвкомпании «Б»
неподдерживаемая кодовая база
Разработчик уходит в~компанию «Б» из-за того, что в компании «А» неподдерживаемая код6вая~база,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор

Отличный комментарий!

неподдерживаемая
Этот https://reactor.cc/post/5767343 пост напомнил мне свой старый проект, в который я вложил много сил и времени в своё время.
В до-андроидо-айфоновские времена мне в руки попал телефон с qwerty-клавиатурой (Sony ericsson P990i), с которым я проходил несколько месяцев. Мне так понравилось сочетание скорости, удобства и ощущений этого метода ввода текста, что последующие телефоны я выбирал в первую очередь по наличию полноразмерной клавиатуры. С последним клавиатурником Sony ericsson XPERIA X1 я проходил аж до конца 2016го года.
Большого морального усилия стоило решение пересесть на современный сенсорник, но программно-аппаратных мощностей windows mobile стало сильно не хватать. В итоге фактором, повлиявшем на моё решение, стало наличие OTG на новом Andriod-смартфоне, и умение создавать на базе arduino pro micro устройства ввода. Я не сдался.
Вдохновившись самой удобной из испробованных, клавиатурой P990i, я напаял на макетке тактовые кнопки, добавив два столбца для русских букв, которые обычно отправлялись на Fn-слой: Х,Ъ,Ж,Э,Б и Ю. Подключил их матрицей на pro micro и испытал в деле:
К сожалению, тот смартфон у меня прожил недолго, и все наработки пришлось переносить на новый: Xiaomi Redmi 4 Pro. Для обкатки прошивки я решил сделать чехол-клавиатуру, как из поста, на который я ссылался в начале своего. Надо повышать степень интеграции.
Заказал самые плоские и компакнтные из возможных кнопок, распаял их на макетку, закрепил с обратной стороны pro micro. Заказал у одного знакомого корпус клавиатуры на гидрорезке, у другого знакомого 3д-печать кнопок. Собрал всё воедино (Извиняюсь за дендрофекальные методы, на тот момент это был максимум моих возможностей):
В итоге получилось это:
Три кнопки над клавиатурой дублируют меню|домой|назад (Андроид понимает медиаклавиши USB-клавиатур), а при наборе текста и три секунды после ввода последнего символа превращаются в кнопки выбора вариантов завершения слов (В swiftkey ctrl+1, 2 и 3 соответственно).
Proof of concept сработал: текст набирался, кнопки под экраном работали корректно, поэтому было решено продолжать интеграцию, чтобы в итоге получить смартфон обычного (Ну или хотя бы не настолько чудовищного) веса и размера. Это должен быть вертикальный слайдер.
Я разобрал свой телефон, чтобы понять, в каком месте разделить его схему, чтобы как можно больше оставить внизу для правильной развесовки. Оказалось, что на верхней сдвигающейся части можно оставить только динамик и экран с тачскрином, раснеся их с основной платой единым шлейфом. Вооружившись копеечным USB-микроскопом, я посчитал общее количество проводников в шлейфе экрана и тачскрина, добавил два для динамика и начал поиски подходящего по длине и количеству проводников шлейфа с разъёмами. Мягко говоря, это было непросто. Подобрал такой, на 51 проводник:
Дальше мне предстояло разобраться с программой DipTrace, которую используют для создания проектов печатных плат для дальнейшего заказа. Разметил на будущей плате пятаки для кнопочных мембран, светодиодов подсветки, ардуины, соединил всё дорожками. Дальше нужно было разметить контакты для разъёмов шлейфов, которых не было в библиотеках DipTrace. Снова вооружившись микроскопом и комплектной линейкой, я начал высчитывать размеры:
В итоге получилось уместить весь проект на плате 100х100 миллиметров, для пятидолларового заказа на PCBWay:
По зелёной линии плата разрезается: часть с ардуиной и контактными площадками клавиатуры остаётся на нижней стороне телефона, к ней подпаиваются шлейфы, идущие на материнскую плату. Вторая часть отправляется на подвижную часть с экраном, к которой подключаются шлейфы от экрана, тача и провода динамика. Между первой и второй частью будет проходить пятидесятипиновый шлейф, купленный ранее.
Через месяц пришёл мой заказ:
Распаял все элементы на плате. Разъёмы тоже пришлось паять обычным паяльником, потому что от фена они деформировались. Хорошо, что был запас по разъёмам.
Ах да, герконы. Они нужны для того, чтобы подключать ардуину к телефону только тогда, когда слайдер открыт. Дело в том, что в этом проекте нет места для юсб-хаба, поэтому подключённая клавиатура забирает себе функционал юсб-разъёма телефона, не позволяя подключать флешки и заряжать телефон быстрой зарядкой. Поэтому герконы отключают не только питание ардуины, но и D+ и D-, оставляя всегда подключённым только GND.
Потерпите, осталось немного.
Я заказал новый корпус и экран, чтобы продолжить работу над проектом и не остаться без телефона. Я же всё ещё продолжал использовать его как основное устройство. Так же нарисовал в DipTrace и заказал макет шлейфа, который приводит сигналы экрана и тача от платы с клавиатурой на материнку телефона.
Вырезал в корпусе все необходимые отвестия, прикинул плату:
С обратной стороны это выглядело так:
Материнскую плату слева подразумевалось перенести в корпус справа и подключить два шлейфа от экрана и тачскрина.
Подключил экран и тач к верней плате:
Проверил, как себя будет чувствовать шлейф между половинками:
И прикинул какая будет суммарная толщина у собранного устройства. Получилось, что она увеличится примерно на три четверти от исходной:
Ииии... На этом всё. В процессе проверки оказалось, что я ошибся с распиновкой гибкого шлейфа, и при стоимости около 3500 рублей пришлось отложить проект на неопределнённый срок (Моя З/П на тот момент была 21к, большая часть которой уходила на обязательные траты). Дальше фокус внимания сместился на другое, а потом переезд, смена работы, смена смартфона, и так далее. Так этот грандиозный проект и лежит дома в столе, уже неактуальный и ненужный.
Если бы всё пошло как надо, следующим этапом было бы проектирование и заказ корпуса со слайдерным механизмом из алюминия, который должен был вклеиваться в стардартные пазы для экрана на нижней части и держать экран на верхней части. Дальше изготовление кнопочек из оргстекла (Про фотополимерную печать я узнал сильно позже), сборка всего воедино и торжественная презентация всему Интернету. Но имеем что имеем.

Отличный комментарий!

,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,DIY,технологии,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,arduino,смартфоны,длиннопост
Здесь мы собираем самые интересные картинки, арты, комиксы, мемасики по теме (+1000 постов - )