Skip to content

Instantly share code, notes, and snippets.

View Glavak's full-sized avatar

Денис Мустакимов Glavak

View GitHub Profile
@Glavak
Glavak / mechanics.txt
Created December 7, 2020 13:52
Список игровых механик из видео https://youtu.be/hq5fofOLI6w
Здоровье в качестве валюты как в некоторых комнатах Isaac'а или пули за здоровье в Bloodborne
Туман войны, он есть во многих стратегиях
Отсутствие меню, или меню вписанное в игровой мир, например в Antichamber
Красные бочки - наверное одна из самых шаблонных механик - но зато это делает её понятной всем игрокам
Такая широкая идея как редактирование мира, как в терарии и майнкрафте, или в astroneer, в котором она выглядит красивее засчёт отсутствия блоков
Гибкое создание кастомных заклинаний или оружия, как было в тех же Worms
Сохранение в кровати или в доме игрового персонажа
Bullet hell, и не обязательно как жанр, можно создать такого босса или уровень во многих 2D играх со стрельбой
Сложные взаимоотношения между нпс, когда мутанты сражаются с рейдерами, или система нпс в Streets Of Rouge
Изменение цвета уровня как в shift
@Glavak
Glavak / ExtensionsRuntime.cs
Last active March 11, 2023 08:40
Файл с кодом для видео-туториала: https://youtu.be/zi3l2etjpFM
/**
* Created by Emerald Powder for video tutorial https://youtu.be/zi3l2etjpFM
**/
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
public class TreeBase : MonoBehaviour
@Glavak
Glavak / SceneTransition.cs
Created June 12, 2020 10:55
Скрипт для смены сцен в Unity 3D с загрузочным экраном, для туториала https://youtu.be/QfO11O4pUp8
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class SceneTransition : MonoBehaviour
{
public Text LoadingPercentage;
public Image LoadingProgressBar;
private static SceneTransition instance;
@Glavak
Glavak / CustomSnappingTool.cs
Created May 30, 2020 16:05
Скрипт инструмента перемещения с примагничиванием, для туториала https://youtu.be/2dsoFUtQ0ck
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.EditorTools;
using UnityEditor.Experimental.SceneManagement;
using UnityEngine;
[EditorTool("Custom Snap Move", typeof(CustomSnap))]
public class CustomSnappingTool : EditorTool
@Glavak
Glavak / ResolutionScaler.cs
Last active July 25, 2024 19:04
Скрипт для уменьшения разрешения камеры в Unity, для туториала https://youtu.be/cpiNuSJBqRQ
#if UNITY_EDITOR
using UnityEditor;
#endif
using UnityEngine;
[ExecuteInEditMode]
[RequireComponent(typeof(Camera))]
public class ResolutionScaler : MonoBehaviour
{
[Range(2, 16)] public float Scale = 2;
@Glavak
Glavak / CameraConstantWidth.cs
Last active October 18, 2024 11:54
Скрипт для поддержания постоянной ширины камеры в Unity, для туториала https://youtu.be/0cmxFjP375Y
using UnityEngine;
/// <summary>
/// Keeps constant camera width instead of height, works for both Orthographic & Perspective cameras
/// Made for tutorial https://youtu.be/0cmxFjP375Y
/// </summary>
public class CameraConstantWidth : MonoBehaviour
{
public Vector2 DefaultResolution = new Vector2(720, 1280);
[Range(0f, 1f)] public float WidthOrHeight = 0;
@Glavak
Glavak / spawn_belts.lua
Created April 19, 2019 11:54
Скрипт для проверки производительности Factorio, для туториала https://youtu.be/L_uwDygZe48
/c
for _, ent in pairs(game.surfaces.nauvis.find_entities_filtered{name = 'transport-belt'}) do
ent.destroy()
end
for _, ent in pairs(game.surfaces.nauvis.find_entities_filtered{name = 'burner-inserter'}) do
ent.destroy()
end
#include <stdlib.h>
#include <stdio.h>
typedef struct rebro {
int begin;
int end;
int length;
} rebro_t;
int count_ver;
# Вспомогательная функция, её наличие не обязательно и не будет проверяться
def build_tree(start, end, path):
link_re = re.compile(r"(?<=/wiki/)[\w()]+") # Искать ссылки можно как угодно, не обязательно через re
files = dict.fromkeys(os.listdir(path)) # Словарь вида {"filename1": None, "filename2": None, ...}
queue = [start]
i = 0
while i < len(queue):
current_file = queue[i]
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <stdio.h>
typedef struct rebro {
int begin;
int end;
int length;
} rebro_t;