Здравствуйте, все, кто это читает!
Я Данилский, и я в процессе создания игры «Mr. Micro» на Unity; работаю над ней 1,5 года.
Задумка и сюжет:
Игроку нужно собрать 10 000 монет в течение года из‑за долга перед мафией. Он открывает бизнес по продаже машин на запчасти. По пути он встречает богатого антропоморфного слизня, который решает его поддержать, но из-за запрета родителей не может отправлять и как либо передавать деньги.Слизню тоже нужно заработать 10 000 монет, чтобы доказать родителям свою самостоятельность.
Game play:
Игрок рекламирует свою авторазборку. К нему приезжают клиенты на своих машинах игрок разбирает их машины, а запчасти продает своему «богатому» другу.
Каждый день они делят выручку пополам, и так продолжается до тех пор, пока у игрока не появляется достаточно денег для улучшения бизнеса: он нанимает работников, улучшает рекламу и так далее. Но приходит мафия и отбирает половину бизнеса. До расплаты остается один месяц, нужно собрать 1000 монет. Бизнес оказывается на грани краха, но игрок выкручивается: открывает подпольный бизнес, зарабатывает эти 1000 монет и расплачивается с мафией.
Концовка (можно не читать):
Я упомянул счастливый сюжет, но есть 3 концовки
-
Игрок расплачивается с мафией, но вспоминает про сына.
-
Он успевает в течение месяца накопить оставшиеся 1 000 монет, расплачивается с мафией и укрепляет отношения со своим другом. Родители друга очень удивляются тому факту, что их сын вместе со своим напарником открывают бизнес, накопив при этом 10 000 монет. Они предлагают свою поддержку в виде 100 000 монет для дальнейшего развития дела.
-
У игрока есть выбор: принять 100 000 монет, которых хватит для бизнеса и безбедной жизни, или отказаться, чтобы полететь домой к своему сыну, которому исполнился один год. Он спрашивает, можно ли получить деньги и улететь к семье. Родители друга воспринимают это как шутку и отказывают.
Игрок выбирает путь в течение одной недели заработать деньги самому и улететь к семье. Его друг и семья друга отворачиваются от него. Спустя неделю игрок вылетает первым же рейсом и живет долго и, возможно, счастливо, со своим сыном.
-
-
-
Игрок расплачивается с мафией и выбирает бизнес вместо семьи.
-
Он успевает в течение месяца накопить оставшиеся 1 000 монет, расплачивается с мафией и укрепляет отношения со своим другом. Родители друга очень удивляются тому факту, что их сын вместе со своим напарником открывают бизнес, накопив при этом 10 000 монет. Они предлагают свою поддержку в виде 100 000 монет для дальнейшего развития дела.
-
У игрока есть выбор: принять 100 000 монет, которых хватит для бизнеса и безбедной жизни, или отказаться, чтобы полететь домой к своему сыну, которому исполнился один год. Он спрашивает, можно ли получить деньги и улететь к семье. Родители друга воспринимают это как шутку и отказывают.
Игрок выбрал бизнес и начинает жить по новому. У игрока теперь есть яхта свой собственный остров и бизнес. Они с другом начинают жить как короли со 100 000 местными долларами в руках. Их бизнес процветает и только приумножает из деньги. Во всех сми только и говорят про его успех (это видит его жена)
-
-
-
Игрок не успевает расплатиться в течение месяца.
Он со своим другом не успел накопить 1000 денег. Друг бросает его и улетает за границу. У мафии есть связи в тюрьме, поэтому игрока сажают на пожизненное заключение. Вскоре он чуть не умирает от сердечного приступа. Его досрочно освобождают спустя 30 лет. Игрок живет в доме престарелых и умирает в одиночестве.
Реализация:
Я создал основной геймплей игры, но пока ушел в долгострой. Пока не знаю, как его завершить, так что сейчас работаю над меню ¯_(ツ)_/¯. Хочу реализовать механизм рекламы и автоматизации типа найм сотрудников, механики денег пока нет.
Коды:
Не знаю как разнообразить статью так что покажу несколько кодов. Движение персонажа, другой код музыки
Код для игрока:
// код для игрока
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class playerControler : MonoBehaviour
{
public float speed = 0.5f;
private SpriteRenderer sp;
private Rigidbody2D rb;
private Vector2 moveVector;
private void Awake()
{
rb = GetComponent<Rigidbody2D>();
sp = GetComponent<SpriteRenderer>();
}
private void FixedUpdate()
{
Moving();
}
void Moving()
{
rb.MovePosition(rb.position + moveVector * speed * Time.fixedDeltaTime);
moveVector.x = Input.GetAxis("Horizontal");
if (moveVector.x < -0.001f)
sp.flipX = true;
else if (moveVector.x > 0.001f)
sp.flipX = false;
}
}
Код для музыки:
// музыка соответственно
using UnityEngine;
public class Music : MonoBehaviour
{
[Header("Music clips")]
[SerializeField] public AudioClip[] Musics;
private AudioSource _audioSource;
void Awake()
{
_audioSource = GetComponent<AudioSource>();
_audioSource.loop = false;
}
void Start()
{
if (Musics.Length == 0)
{
Debug.LogWarning("The code doesn’t contain any clips!");
return;
}
StartCoroutine(PlayMusics());
}
private System.Collections.IEnumerator PlayMusics()
{
int randomIndex = Random.Range(0, Musics.Length);
AudioClip randomClip = Musics[randomIndex];
_audioSource.clip = randomClip;
_audioSource.Play();
yield return new WaitForSeconds(randomClip.length);
}
}
Очень надеюсь, что мой проект зайдёт. Огромное спасибо всем, что всё это прочитали или заимствовали код. Всем пока! Скоро буду, а пока Данислкий пойдет отдохнет и поработает в дальнейшем. Всем вам до скорого! ヾ(≧▽≦*)o
Автор: Dani1lski
