Ну так а зачем придумывать с нуля, когда кто-то уже придумал раньше? Взяли референс, доработали под свой лор и готово.